summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2009-07-01 14:50:54 +0000
committerSilenio Quarti <silenio>2009-07-01 14:50:54 +0000
commit093c579a4ffd9551acb901bba9617e7aa776989d (patch)
tree71cf23798b651ef92f188390841a8d130908fb11 /bundles/org.eclipse.swt/Eclipse SWT PI/win32/org
parentf664d297f7bb009784868bf3fcf0b3e3bb9a646b (diff)
downloadeclipse.platform.swt-093c579a4ffd9551acb901bba9617e7aa776989d.tar.gz
eclipse.platform.swt-093c579a4ffd9551acb901bba9617e7aa776989d.tar.xz
eclipse.platform.swt-093c579a4ffd9551acb901bba9617e7aa776989d.zip
restore HEAD after accidental deletion by error in automated build script
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT PI/win32/org')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Lock.java36
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Platform.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/BitmapData.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/ColorPalette.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Gdip.java1203
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/GdiplusStartupInput.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/PointF.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Rect.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/RectF.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CAUUID.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java951
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CONTROLINFO.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COSERVERINFO.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DISPPARAMS.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DVTARGETDEVICE.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/EXCEPINFO.java29
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FORMATETC.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FUNCDESC.java43
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/GUID.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java83
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IClassFactory2.java27
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPoint.java24
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPointContainer.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDataObject.java43
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java66
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatchEx.java50
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDragSourceHelper.java25
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDragSourceHelper2.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDropTargetHelper.java34
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnum.java30
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumFORMATETC.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumSTATSTG.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumVARIANT.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IFont.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IMoniker.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleCommandTarget.java36
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleControl.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocument.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocumentView.java33
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceActiveObject.java33
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceObject.java32
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleLink.java24
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleObject.java63
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleWindow.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersist.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistFile.java33
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStorage.java36
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStreamInit.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo2.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ISpecifyPropertyPages.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStorage.java149
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStream.java35
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ITypeInfo.java160
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IUnknown.java31
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IViewObject2.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/LICINFO.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMD.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMDTEXT.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLEINPLACEFRAMEINFO.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STATSTG.java48
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STGMEDIUM.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/TYPEATTR.java50
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARDESC.java32
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARIANT.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/package.html21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACCEL.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACTCTX.java29
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAP.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAPINFOHEADER.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BLENDFUNCTION.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BP_PAINTPARAMS.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BROWSEINFO.java28
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BUTTON_IMAGELIST.java27
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CANDIDATEFORM.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSECOLOR.java29
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSEFONT.java37
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMBOBOXINFO.java39
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMPOSITIONFORM.java30
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CREATESTRUCT.java33
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODE.java47
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODEA.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODEW.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DIBSECTION.java46
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DLLVERSIONINFO.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCHOSTUIINFO.java25
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCINFO.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DRAWITEMSTRUCT.java34
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DROPFILES.java27
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DWM_BLURBEHIND.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EMR.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EMREXTCREATEFONTINDIRECTW.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGFONTW.java25
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGPEN.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FILETIME.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GCP_RESULTS.java31
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GRADIENT_RECT.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GUITHREADINFO.java40
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDHITTESTINFO.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDITEM.java30
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HELPINFO.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HIGHCONTRAST.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ICONINFO.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INITCOMMONCONTROLSEX.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INPUT.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/KEYBDINPUT.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LITEM.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGBRUSH.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONT.java28
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTA.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTW.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGPEN.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LRESULT.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVCOLUMN.java24
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVHITTESTINFO.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVITEM.java32
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MARGINS.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MCHITTESTINFO.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MEASUREITEMSTRUCT.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUBARINFO.java31
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUINFO.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUITEMINFO.java39
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MINMAXINFO.java40
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MONITORINFO.java35
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MOUSEINPUT.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MSG.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMCUSTOMDRAW.java30
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHDR.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHEADER.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLINK.java28
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLISTVIEW.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVCUSTOMDRAW.java41
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVDISPINFO.java42
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVFINDITEM.java30
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVODSTATECHANGE.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHEVRON.java28
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java35
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMRGINFO.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTBHOTITEM.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTOOLBAR.java42
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTREEVIEW.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTCUSTOMDRAW.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFO.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOA.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOW.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVCUSTOMDRAW.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java36
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVITEMCHANGE.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMUPDOWN.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICS.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSA.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSW.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATA.java31
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAA.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAW.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OFNOTIFY.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OPENFILENAME.java52
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java6544
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFO.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOA.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEX.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXA.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXW.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOW.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRIC.java69
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRICA.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRICW.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PAINTSTRUCT.java30
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PANOSE.java25
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/POINT.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PRINTDLG.java45
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PROCESS_INFORMATION.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/REBARBANDINFO.java40
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/RECT.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ANALYSIS.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_CONTROL.java25
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_DIGITSUBSTITUTE.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_FONTPROPERTIES.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ITEM.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_LOGATTR.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_PROPERTIES.java30
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_STATE.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLBARINFO.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLINFO.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHACTIVATEINFO.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHDRAGIMAGE.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHELLEXECUTEINFO.java47
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFO.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFOA.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFOW.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHMENUBARINFO.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHRGINFO.java24
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIPINFO.java38
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIZE.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/STARTUPINFO.java40
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SYSTEMTIME.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTON.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTONINFO.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java131
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHITTESTINFO.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCITEM.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRIC.java31
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICA.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICW.java19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TF_DA_COLOR.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TF_DISPLAYATTRIBUTE.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOOLINFO.java36
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRACKMOUSEEVENT.java20
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRIVERTEX.java22
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVHITTESTINFO.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVINSERTSTRUCT.java42
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEM.java27
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEMEX.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVSORTCB.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/UDACCEL.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPLACEMENT.java37
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPOS.java24
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WNDCLASS.java32
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/package.html21
220 files changed, 14657 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Lock.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Lock.java
new file mode 100644
index 0000000000..7712dd0f6a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Lock.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal;
+
+/**
+ * Instances of this represent a recursive monitor. Note that this
+ * is an empty implementation which does not actually perform locking.
+ */
+public class Lock {
+
+/**
+ * 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() {
+ return 0;
+}
+
+/**
+ * Unlocks the monitor. If the current thread is not
+ * the monitor owner, do nothing.
+ */
+public void unlock() {
+}
+}
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
new file mode 100644
index 0000000000..9fae8d8b3b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Platform.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal;
+
+public class Platform {
+
+public static final String PLATFORM = "win32"; //$NON-NLS-1$
+public static final Lock lock = new Lock ();
+}
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
new file mode 100644
index 0000000000..81ac5eddb6
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/BitmapData.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.gdip;
+
+public class BitmapData {
+ public int Width;
+ public int Height;
+ public int Stride;
+ /** @field cast=(PixelFormat) */
+ public int PixelFormat;
+ /** @field cast=(void*) */
+ public int /*long*/ Scan0;
+ /** @field cast=(UINT_PTR) */
+ public int /*long*/ Reserved;
+}
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
new file mode 100644
index 0000000000..56b97ddef8
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/ColorPalette.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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;
+
+public class ColorPalette {
+ public int Flags;
+ public int Count;
+ public int[] Entries = new int[1];
+ public static final int sizeof = Gdip.ColorPalette_sizeof ();
+}
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
new file mode 100644
index 0000000000..5b7b44b10b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Gdip.java
@@ -0,0 +1,1203 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, 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.*;
+
+/** @jniclass flags=cpp */
+public class Gdip extends Platform {
+ static {
+ Library.loadLibrary ("swt-gdip"); //$NON-NLS-1$
+ }
+
+ /** GdiPlus constants */
+ public static final float FlatnessDefault = 0.25f;
+ 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 DriverStringOptionsRealizedAdvance = 4;
+ 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;
+
+/** 64 bit */
+public static final native int ColorPalette_sizeof();
+public static final native int GdiplusStartupInput_sizeof();
+
+/** GdiPlus natives */
+
+/**
+ * @param token cast=(ULONG_PTR *)
+ * @param input cast=(const GdiplusStartupInput *)
+ * @param output cast=(GdiplusStartupOutput *)
+ */
+public static final native int GdiplusStartup(int /*long*/[] token, GdiplusStartupInput input, int /*long*/ output);
+/** @param token cast=(ULONG_PTR) */
+public static final native void GdiplusShutdown(int /*long*/ token);
+/**
+ * @method flags=new
+ * @param hbm cast=(HBITMAP)
+ * @param hpal cast=(HPALETTE)
+ */
+public static final native int /*long*/ Bitmap_new(int /*long*/ hbm, int /*long*/ hpal);
+/**
+ * @method flags=new
+ * @param hicon cast=(HICON)
+ */
+public static final native int /*long*/ Bitmap_new(int /*long*/ hicon);
+/**
+ * @method flags=new
+ * @param format cast=(PixelFormat)
+ * @param scan0 cast=(BYTE *)
+ */
+public static final native int /*long*/ Bitmap_new(int width, int height, int stride, int format, int /*long*/ scan0);
+/**
+ * @method flags=new
+ * @param filename cast=(WCHAR*)
+ */
+public static final native int /*long*/ Bitmap_new(char[] filename, boolean useIcm);
+/** @method flags=delete */
+public static final native void Bitmap_delete(int /*long*/ bitmap);
+/**
+ * @method flags=cpp
+ * @param bitmap cast=(Bitmap*)
+ * @param colorBackground cast=(Color*),flags=struct
+ * @param hbmReturn cast=(HBITMAP*)
+ */
+public static final native int Bitmap_GetHBITMAP(int /*long*/ bitmap, int /*long*/ colorBackground, int /*long*/[] hbmReturn);
+/**
+ * @method flags=cpp
+ * @param bitmap cast=(Bitmap*)
+ * @param hicon cast=(HICON*)
+ */
+public static final native int Bitmap_GetHICON(int /*long*/ bitmap, int /*long*/[] hicon);
+/** @method flags=new */
+public static final native int /*long*/ BitmapData_new();
+/** @method flags=delete */
+public static final native void BitmapData_delete(int /*long*/ bitmapData);
+/**
+ * @method flags=cpp
+ * @param bitmap cast=(Bitmap*)
+ * @param rect cast=(Rect*)
+ * @param pixelFormat cast=(PixelFormat)
+ * @param lockedBitmapData cast=(BitmapData*)
+ */
+public static final native int Bitmap_LockBits(int /*long*/ bitmap, int /*long*/ rect, int flags, int pixelFormat, int /*long*/ lockedBitmapData);
+/**
+ * @method flags=cpp
+ * @param bitmap cast=(Bitmap*)
+ * @param lockedBitmapData cast=(BitmapData*)
+ */
+public static final native int Bitmap_UnlockBits(int /*long*/ bitmap, int /*long*/ lockedBitmapData);
+/**
+ * @method flags=cpp
+ * @param brush cast=(Brush *)
+ */
+public static final native int /*long*/ Brush_Clone(int /*long*/ brush);
+/**
+ * @method flags=cpp
+ * @param brush cast=(Brush *)
+ */
+public static final native int Brush_GetType(int /*long*/ brush);
+/**
+ * @method flags=new
+ * @param argb cast=(ARGB)
+ */
+public static final native int /*long*/ Color_new(int argb);
+/** @method flags=delete */
+public static final native void Color_delete(int /*long*/ color);
+/** @method flags=new */
+public static final native int /*long*/ PrivateFontCollection_new();
+/** @method flags=delete */
+public static final native void PrivateFontCollection_delete(int /*long*/ collection);
+/**
+ * @method flags=cpp
+ * @param collection cast=(PrivateFontCollection *)
+ * @param filename cast=(const WCHAR *)
+ */
+public static final native int PrivateFontCollection_AddFontFile(int /*long*/ collection, char[] filename);
+/**
+ * @method flags=new
+ * @param hdc cast=(HDC)
+ * @param hfont cast=(HFONT)
+ */
+public static final native int /*long*/ Font_new(int /*long*/ hdc, int /*long*/ hfont);
+/**
+ * @method flags=new
+ * @param family cast=(const FontFamily *)
+ * @param emSize cast=(REAL)
+ * @param style cast=(INT)
+ * @param unit cast=(Unit)
+ */
+public static final native int /*long*/ Font_new(int /*long*/ family, float emSize, int style, int unit);
+/**
+ * @method flags=new
+ * @param familyName cast=(const WCHAR *)
+ * @param emSize cast=(REAL)
+ * @param style cast=(INT)
+ * @param unit cast=(Unit)
+ * @param fontCollection cast=(const FontCollection *)
+ */
+public static final native int /*long*/ Font_new(char[] familyName, float emSize, int style, int unit, int /*long*/ fontCollection);
+/** @method flags=delete */
+public static final native void Font_delete(int /*long*/ font);
+/**
+ * @method flags=cpp
+ * @param font cast=(Font *)
+ * @param family cast=(FontFamily *)
+ */
+public static final native int Font_GetFamily(int /*long*/ font, int /*long*/ family);
+/**
+ * @method flags=cpp
+ * @param font cast=(Font *)
+ */
+public static final native float Font_GetSize(int /*long*/ font);
+/**
+ * @method flags=cpp
+ * @param font cast=(Font *)
+ */
+public static final native int Font_GetStyle(int /*long*/ font);
+/**
+ * @method flags=cpp
+ * @param font cast=(Font *)
+ * @param g cast=(const Graphics *)
+ * @param logfontW cast=(LOGFONTW *)
+ */
+public static final native int Font_GetLogFontW (int /*long*/ font, int /*long*/ g, int /*long*/ logfontW);
+/**
+ * @method flags=cpp
+ * @param font cast=(Font *)
+ */
+public static final native boolean Font_IsAvailable(int /*long*/ font);
+/** @method flags=new */
+public static final native int /*long*/ FontFamily_new();
+/**
+ * @method flags=new
+ * @param name cast=(const WCHAR *)
+ * @param fontCollection cast=(const FontCollection *)
+ */
+public static final native int /*long*/ FontFamily_new(char[] name, int /*long*/ fontCollection);
+/** @method flags=delete */
+public static final native void FontFamily_delete(int /*long*/ family);
+/**
+ * @method flags=cpp
+ * @param family cast=(FontFamily *)
+ * @param name cast=(WCHAR *)
+ * @param language cast=(WCHAR)
+ */
+public static final native int FontFamily_GetFamilyName(int /*long*/ family, char[] name, char language);
+/**
+ * @method flags=cpp
+ * @param family cast=(FontFamily *)
+ */
+public static final native boolean FontFamily_IsAvailable(int /*long*/ family);
+/**
+ * @method flags=new
+ * @param hdc cast=(HDC)
+ */
+public static final native int /*long*/ Graphics_new(int /*long*/ hdc);
+/** @method flags=delete */
+public static final native void Graphics_delete(int /*long*/ graphics);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param pen cast=(Pen *)
+ */
+public static final native int Graphics_DrawArc(int /*long*/ graphics, int /*long*/ pen, int x, int y, int width, int height, float startAngle, float sweepAngle);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param text cast=(const UINT16 *)
+ * @param font cast=(const Font *)
+ * @param brush cast=(const Brush *)
+ * @param positions cast=(const PointF *)
+ * @param matrix cast=(const Matrix *)
+ */
+public static final native int Graphics_DrawDriverString(int /*long*/ graphics, int /*long*/ text, int length, int /*long*/ font, int /*long*/ brush, PointF /*long*/ positions, int flags, int /*long*/ matrix);
+/**
+ * @method flags=no_gen cpp
+ * @param graphics cast=(Graphics *)
+ * @param text cast=(const UINT16 *)
+ * @param font cast=(const Font *)
+ * @param brush cast=(const Brush *)
+ * @param positions cast=(const PointF *)
+ * @param matrix cast=(const Matrix *)
+ */
+public static final native int Graphics_DrawDriverString(int /*long*/ graphics, int /*long*/ text, int length, int /*long*/ font, int /*long*/ brush, float[] positions, int flags, int /*long*/ matrix);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param pen cast=(Pen *)
+ */
+public static final native int Graphics_DrawEllipse(int /*long*/ graphics, int /*long*/ pen, int x, int y, int width, int height);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param image cast=(Image *)
+ * @param x cast=(INT)
+ * @param y cast=(INT)
+ */
+public static final native int Graphics_DrawImage(int /*long*/ graphics, int /*long*/ image, int x, int y);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param image cast=(Image *)
+ * @param destRect cast=(const Rect *),flags=struct
+ * @param srcx cast=(INT)
+ * @param srcy cast=(INT)
+ * @param srcwidth cast=(INT)
+ * @param srcheight cast=(INT)
+ * @param srcUnit cast=(Unit)
+ * @param imageAttributes cast=(ImageAttributes *)
+ * @param callback cast=(DrawImageAbort)
+ * @param callbackData cast=(VOID *)
+ */
+public static final native int Graphics_DrawImage(int /*long*/ graphics, int /*long*/ image, Rect destRect, int srcx, int srcy, int srcwidth, int srcheight, int srcUnit, int /*long*/ imageAttributes, int /*long*/ callback, int /*long*/ callbackData);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param pen cast=(Pen *)
+ */
+public static final native int Graphics_DrawLine(int /*long*/ graphics, int /*long*/ pen, int x1, int y1, int x2, int y2);
+/**
+ * @method flags=no_gen cpp
+ * @param graphics cast=(Graphics *)
+ * @param pen cast=(Pen *)
+ * @param count cast=(INT)
+ */
+public static final native int Graphics_DrawLines(int /*long*/ graphics, int /*long*/ pen, int[] points, int count);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param pen cast=(Pen *)
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int Graphics_DrawPath(int /*long*/ graphics, int /*long*/ pen, int /*long*/ path);
+/**
+ * @method flags=no_gen cpp
+ * @param graphics cast=(Graphics *)
+ * @param pen cast=(Pen *)
+ * @param count cast=(INT)
+ */
+public static final native int Graphics_DrawPolygon(int /*long*/ graphics, int /*long*/ pen, int[] points, int count);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param pen cast=(Pen *)
+ */
+public static final native int Graphics_DrawRectangle(int /*long*/ graphics, int /*long*/ pen, int x, int y, int width, int height);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param string cast=(WCHAR *)
+ * @param length cast=(int)
+ * @param font cast=(Font *)
+ * @param origin flags=struct
+ * @param brush cast=(Brush *)
+ */
+public static final native int Graphics_DrawString(int /*long*/ graphics, char[] string, int length, int /*long*/ font, PointF origin, int /*long*/ brush);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param string cast=(WCHAR *)
+ * @param length cast=(int)
+ * @param font cast=(Font *)
+ * @param origin flags=struct
+ * @param format cast=(StringFormat *)
+ * @param brush cast=(Brush *)
+ */
+public static final native int Graphics_DrawString(int /*long*/ graphics, char[] string, int length, int /*long*/ font, PointF origin, int /*long*/ format, int /*long*/ brush);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param brush cast=(Brush *)
+ * @param x cast=(INT)
+ * @param y cast=(INT)
+ * @param width cast=(INT)
+ * @param height cast=(INT)
+ */
+public static final native int Graphics_FillEllipse(int /*long*/ graphics, int /*long*/ brush, int x, int y, int width, int height);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param brush cast=(Brush *)
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int Graphics_FillPath(int /*long*/ graphics, int /*long*/ brush, int /*long*/ path);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param intention cast=(FlushIntention)
+ */
+public static final native void Graphics_Flush(int /*long*/ graphics, int intention);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param brush cast=(Brush *)
+ * @param x cast=(INT)
+ * @param y cast=(INT)
+ * @param width cast=(INT)
+ * @param height cast=(INT)
+ * @param startAngle cast=(REAL)
+ * @param sweepAngle cast=(REAL)
+ */
+public static final native int Graphics_FillPie(int /*long*/ graphics, int /*long*/ brush, int x, int y, int width, int height, float startAngle, float sweepAngle);
+/**
+ * @method flags=no_gen cpp
+ * @param graphics cast=(Graphics *)
+ * @param brush cast=(Brush *)
+ * @param points cast=(Point *)
+ * @param count cast=(INT)
+ * @param fillMode cast=(FillMode)
+ */
+public static final native int Graphics_FillPolygon(int /*long*/ graphics, int /*long*/ brush, int[] points, int count, int fillMode);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param brush cast=(Brush *)
+ * @param x cast=(INT)
+ * @param y cast=(INT)
+ * @param width cast=(INT)
+ * @param height cast=(INT)
+ */
+public static final native int Graphics_FillRectangle(int /*long*/ graphics, int /*long*/ brush, int x, int y, int width, int height);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int Graphics_GetClipBounds(int /*long*/ graphics, RectF rect);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int Graphics_GetClipBounds(int /*long*/ graphics, Rect rect);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param region cast=(Region *)
+ */
+public static final native int Graphics_GetClip(int /*long*/ graphics, int /*long*/ region);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int /*long*/ Graphics_GetHDC(int /*long*/ graphics);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param hdc cast=(HDC)
+ */
+public static final native void Graphics_ReleaseHDC(int /*long*/ graphics, int /*long*/ hdc);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int Graphics_GetInterpolationMode(int /*long*/ graphics);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int Graphics_GetSmoothingMode(int /*long*/ graphics);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int Graphics_GetTextRenderingHint(int /*long*/ graphics);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param matrix cast=(Matrix *)
+ */
+public static final native int Graphics_GetTransform(int /*long*/ graphics, int /*long*/ matrix);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int Graphics_GetVisibleClipBounds(int /*long*/ graphics, Rect rect);
+/** @method flags=no_gen */
+public static final native int Graphics_MeasureDriverString(int /*long*/ graphics, int /*long*/ text, int length, int /*long*/ font, float[] positions, int flags, int /*long*/ matrix, RectF boundingBox);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param string cast=(const WCHAR *)
+ * @param length cast=(INT)
+ * @param font cast=(const Font *)
+ * @param origin cast=(const PointF *),flags=struct
+ * @param boundingBox cast=(RectF *)
+ */
+public static final native int Graphics_MeasureString(int /*long*/ graphics, char[] string, int length, int /*long*/ font, PointF origin, RectF boundingBox);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param string cast=(const WCHAR *)
+ * @param length cast=(INT)
+ * @param font cast=(const Font *)
+ * @param origin cast=(const PointF *),flags=struct
+ * @param format cast=(StringFormat *)
+ */
+public static final native int Graphics_MeasureString(int /*long*/ graphics, char[] string, int length, int /*long*/ font, PointF origin, int /*long*/ format, RectF boundingBox);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int Graphics_ResetClip(int /*long*/ graphics);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param gstate cast=(GraphicsState)
+ */
+public static final native int Graphics_Restore(int /*long*/ graphics, int gstate);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int Graphics_Save(int /*long*/ graphics);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int Graphics_ScaleTransform(int /*long*/ graphics, float sx, float sy, int order);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param hrgn cast=(Region *)
+ * @param combineMode cast=(CombineMode)
+ */
+public static final native int Graphics_SetClip(int /*long*/ graphics, int /*long*/ hrgn, int combineMode);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param rect cast=(Rect *),flags=struct
+ * @param combineMode cast=(CombineMode)
+ */
+public static final native int Graphics_SetClip(int /*long*/ graphics, Rect rect, int combineMode);
+/**
+ * @method accessor=SetClip,flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int Graphics_SetClipPath(int /*long*/ graphics, int /*long*/ path);
+/**
+ * @method accessor=SetClip,flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param path cast=(GraphicsPath *)
+ * @param combineMode cast=(CombineMode)
+ */
+public static final native int Graphics_SetClipPath(int /*long*/ graphics, int /*long*/ path, int combineMode);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param compositingQuality cast=(CompositingQuality)
+ */
+public static final native int Graphics_SetCompositingQuality(int /*long*/ graphics, int compositingQuality);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param unit cast=(Unit)
+ */
+public static final native int Graphics_SetPageUnit(int /*long*/ graphics, int unit);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param pixelOffsetMode cast=(PixelOffsetMode)
+ */
+public static final native int Graphics_SetPixelOffsetMode(int /*long*/ graphics, int pixelOffsetMode);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param smoothingMode cast=(SmoothingMode)
+ */
+public static final native int Graphics_SetSmoothingMode(int /*long*/ graphics, int smoothingMode);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param matrix cast=(Matrix *)
+ */
+public static final native int Graphics_SetTransform(int /*long*/ graphics, int /*long*/ matrix);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param mode cast=(InterpolationMode)
+ */
+public static final native int Graphics_SetInterpolationMode(int /*long*/ graphics, int mode);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param mode cast=(TextRenderingHint)
+ */
+public static final native int Graphics_SetTextRenderingHint(int /*long*/ graphics, int mode);
+/**
+ * @method flags=cpp
+ * @param graphics cast=(Graphics *)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int Graphics_TranslateTransform(int /*long*/ graphics, float dx, float dy, int order);
+/**
+ * @method flags=new
+ * @param fillMode cast=(FillMode)
+ */
+public static final native int /*long*/ GraphicsPath_new(int fillMode);
+/**
+ * @method flags=no_gen new
+ * @param points cast=(FillMode)
+ */
+public static final native int /*long*/ GraphicsPath_new(int[] points, byte[] types, int count, int fillMode);
+/** @method flags=delete */
+public static final native void GraphicsPath_delete(int /*long*/ path);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param x cast=(REAL)
+ * @param y cast=(REAL)
+ * @param width cast=(REAL)
+ * @param height cast=(REAL)
+ * @param startAngle cast=(REAL)
+ * @param sweepAngle cast=(REAL)
+ */
+public static final native int GraphicsPath_AddArc(int /*long*/ path, float x, float y, float width, float height, float startAngle, float sweepAngle);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param x1 cast=(REAL)
+ * @param y1 cast=(REAL)
+ * @param x2 cast=(REAL)
+ * @param y2 cast=(REAL)
+ * @param x3 cast=(REAL)
+ * @param y3 cast=(REAL)
+ * @param x4 cast=(REAL)
+ * @param y4 cast=(REAL)
+ */
+public static final native int GraphicsPath_AddBezier(int /*long*/ path, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param x1 cast=(REAL)
+ * @param y1 cast=(REAL)
+ * @param x2 cast=(REAL)
+ * @param y2 cast=(REAL)
+ */
+public static final native int GraphicsPath_AddLine(int /*long*/ path, float x1, float y1, float x2, float y2);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param addingPath cast=(GraphicsPath *)
+ * @param connect cast=(BOOL)
+ */
+public static final native int GraphicsPath_AddPath(int /*long*/ path, int /*long*/ addingPath, boolean connect);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param rect flags=struct
+ */
+public static final native int GraphicsPath_AddRectangle(int /*long*/ path, RectF rect);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param string cast=(const WCHAR *)
+ * @param length cast=(INT)
+ * @param family cast=(const FontFamily *)
+ * @param style cast=(INT)
+ * @param emSize cast=(REAL)
+ * @param origin cast=(const PointF *),flags=struct
+ * @param format cast=(const StringFormat *)
+ */
+public static final native int GraphicsPath_AddString(int /*long*/ path, char[] string, int length, int /*long*/ family, int style, float emSize, PointF origin, int /*long*/ format);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int GraphicsPath_CloseFigure(int /*long*/ path);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int /*long*/ GraphicsPath_Clone(int /*long*/ path);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param matrix cast=(Matrix *)
+ */
+public static final native int GraphicsPath_Flatten(int /*long*/ path, int /*long*/ matrix, float flatness);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param matrix cast=(Matrix *)
+ * @param pen cast=(Pen *)
+ */
+public static final native int GraphicsPath_GetBounds(int /*long*/ path, RectF bounds, int /*long*/ matrix, int /*long*/ pen);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param lastPoint cast=(PointF *)
+ */
+public static final native int GraphicsPath_GetLastPoint(int /*long*/ path, PointF lastPoint);
+/**
+ * @method flags=no_gen cpp
+ * @param path cast=(GraphicsPath *)
+ * @param points cast=(PointF *)
+ */
+public static final native int GraphicsPath_GetPathPoints(int /*long*/ path, float[] points, int count);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param types cast=(BYTE *)
+ */
+public static final native int GraphicsPath_GetPathTypes(int /*long*/ path, byte[] types, int count);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int GraphicsPath_GetPointCount(int /*long*/ path);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param pen cast=(const Pen *)
+ * @param g cast=(const Graphics *)
+ */
+public static final native boolean GraphicsPath_IsOutlineVisible(int /*long*/ path, float x, float y, int /*long*/ pen, int /*long*/ g);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param g cast=(const Graphics *)
+ */
+public static final native boolean GraphicsPath_IsVisible(int /*long*/ path, float x, float y, int /*long*/ g);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param fillmode cast=(FillMode)
+ */
+public static final native int GraphicsPath_SetFillMode(int /*long*/ path, int fillmode);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int GraphicsPath_StartFigure(int /*long*/ path);
+/**
+ * @method flags=cpp
+ * @param path cast=(GraphicsPath *)
+ * @param matrix cast=(Matrix *)
+ */
+public static final native int GraphicsPath_Transform(int /*long*/ path, int /*long*/ matrix);
+/**
+ * @method flags=new
+ * @param hatchStyle cast=(HatchStyle)
+ * @param foreColor cast=(Color *),flags=struct
+ * @param backColor cast=(Color *),flags=struct
+ */
+public static final native int /*long*/ HatchBrush_new(int hatchStyle, int /*long*/ foreColor, int /*long*/ backColor);
+/**
+ * @method flags=cpp
+ * @param image cast=(Image*)
+ */
+public static final native int Image_GetLastStatus(int /*long*/ image);
+/**
+ * @method flags=cpp
+ * @param image cast=(Image*)
+ */
+public static final native int Image_GetPixelFormat(int /*long*/ image);
+/**
+ * @method flags=cpp
+ * @param image cast=(Image *)
+ */
+public static final native int Image_GetWidth(int /*long*/ image);
+/**
+ * @method flags=cpp
+ * @param image cast=(Image *)
+ */
+public static final native int Image_GetHeight(int /*long*/ image);
+/**
+ * @method flags=cpp
+ * @param image cast=(Image*)
+ * @param palette cast=(ColorPalette*)
+ */
+public static final native int Image_GetPalette(int /*long*/ image, int /*long*/ palette, int size);
+/**
+ * @method flags=cpp
+ * @param image cast=(Image*)
+ */
+public static final native int Image_GetPaletteSize(int /*long*/ image);
+/** @method flags=new */
+public static final native int /*long*/ ImageAttributes_new();
+/** @method flags=delete */
+public static final native void ImageAttributes_delete(int /*long*/ attrib);
+/**
+ * @method flags=cpp
+ * @param attrib cast=(ImageAttributes *)
+ * @param wrap cast=(WrapMode)
+ */
+public static final native int ImageAttributes_SetWrapMode(int /*long*/ attrib, int wrap);
+/**
+ * @method flags=cpp
+ * @param attrib cast=(ImageAttributes *)
+ * @param matrix cast=(ColorMatrix *)
+ * @param mode cast=(ColorMatrixFlags)
+ * @param type cast=(ColorAdjustType)
+ */
+public static final native int ImageAttributes_SetColorMatrix(int /*long*/ attrib, float[] matrix, int mode, int type);
+/** @method flags=delete */
+public static final native void HatchBrush_delete(int /*long*/ brush);
+/**
+ * @method flags=new
+ * @param point1 flags=struct
+ * @param point2 flags=struct
+ * @param color1 cast=(Color *),flags=struct
+ * @param color2 cast=(Color *),flags=struct
+ */
+public static final native int /*long*/ LinearGradientBrush_new(PointF point1, PointF point2, int /*long*/ color1, int /*long*/ color2);
+/** @method flags=delete */
+public static final native void LinearGradientBrush_delete(int /*long*/ brush);
+/**
+ * @method flags=no_gen cpp
+ * @param brush cast=(LinearGradientBrush *)
+ * @param presetColors cast=(const Color *)
+ * @param blendPositions cast=(const REAL *)
+ */
+public static final native int LinearGradientBrush_SetInterpolationColors(int /*long*/ brush, int /*long*/[] presetColors, float[] blendPositions, int count);
+/**
+ * @method flags=cpp
+ * @param brush cast=(LinearGradientBrush *)
+ * @param wrapMode cast=(WrapMode)
+ */
+public static final native int LinearGradientBrush_SetWrapMode(int /*long*/ brush, int wrapMode);
+/**
+ * @method flags=cpp
+ * @param brush cast=(LinearGradientBrush *)
+ */
+public static final native int LinearGradientBrush_ResetTransform(int /*long*/ brush);
+/**
+ * @method flags=cpp
+ * @param brush cast=(LinearGradientBrush *)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int LinearGradientBrush_ScaleTransform(int /*long*/ brush, float sx, float sy, int order);
+/**
+ * @method flags=cpp
+ * @param brush cast=(LinearGradientBrush *)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int LinearGradientBrush_TranslateTransform(int /*long*/ brush, float dx, float dy, int order);
+/**
+ * @method flags=new
+ * @param m11 cast=(REAL)
+ * @param m12 cast=(REAL)
+ * @param m21 cast=(REAL)
+ * @param m22 cast=(REAL)
+ * @param dx cast=(REAL)
+ * @param dy cast=(REAL)
+ */
+public static final native int /*long*/ Matrix_new(float m11, float m12, float m21, float m22, float dx, float dy);
+/** @method flags=delete */
+public static final native void Matrix_delete(int /*long*/ matrix);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ * @param m cast=(REAL *)
+ */
+public static final native int Matrix_GetElements(int /*long*/ matrix, float[] m);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ */
+public static final native int Matrix_Invert(int /*long*/ matrix);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ */
+public static final native boolean Matrix_IsIdentity(int /*long*/ matrix);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ * @param matrix1 cast=(Matrix *)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int Matrix_Multiply(int /*long*/ matrix, int /*long*/ matrix1, int order);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ * @param angle cast=(REAL)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int Matrix_Rotate(int /*long*/ matrix, float angle, int order);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ * @param scaleX cast=(REAL)
+ * @param scaleY cast=(REAL)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int Matrix_Scale(int /*long*/ matrix, float scaleX, float scaleY, int order);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ * @param shearX cast=(REAL)
+ * @param shearY cast=(REAL)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int Matrix_Shear(int /*long*/ matrix, float shearX, float shearY, int order);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ */
+public static final native int Matrix_TransformPoints(int /*long*/ matrix, PointF pts, int count);
+/** @method flags=no_gen */
+public static final native int Matrix_TransformPoints(int /*long*/ matrix, float[] pts, int count);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ */
+public static final native int Matrix_TransformVectors(int /*long*/ matrix, PointF pts, int count);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ * @param offsetX cast=(REAL)
+ * @param offsetY cast=(REAL)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int Matrix_Translate(int /*long*/ matrix, float offsetX, float offsetY, int order);
+/**
+ * @method flags=cpp
+ * @param matrix cast=(Matrix *)
+ * @param m11 cast=(REAL)
+ * @param m12 cast=(REAL)
+ * @param m21 cast=(REAL)
+ * @param m22 cast=(REAL)
+ * @param dx cast=(REAL)
+ * @param dy cast=(REAL)
+ */
+public static final native int Matrix_SetElements(int /*long*/ matrix, float m11, float m12, float m21, float m22, float dx, float dy);
+/**
+ * @param Destination cast=(PVOID)
+ * @param SourcePtr cast=(CONST VOID*)
+ */
+public static final native void MoveMemory(ColorPalette Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param SourcePtr cast=(CONST VOID*)
+ */
+public static final native void MoveMemory(BitmapData Destination, int /*long*/ SourcePtr);
+/**
+ * @method flags=new
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int /*long*/ PathGradientBrush_new(int /*long*/ path);
+/** @method flags=delete */
+public static final native void PathGradientBrush_delete(int /*long*/ brush);
+/**
+ * @method flags=cpp
+ * @param brush cast=(PathGradientBrush *)
+ * @param color cast=(Color *),flags=struct
+ */
+public static final native int PathGradientBrush_SetCenterColor(int /*long*/ brush, int /*long*/ color);
+/**
+ * @method flags=cpp
+ * @param brush cast=(PathGradientBrush *)
+ * @param pt flags=struct
+ */
+public static final native int PathGradientBrush_SetCenterPoint(int /*long*/ brush, PointF pt);
+/**
+ * @method flags=no_gen
+ * @param brush cast=(PathGradientBrush *)
+ * @param presetColors cast=(const Color *)
+ * @param blendPositions cast=(const REAL *)
+ */
+public static final native int PathGradientBrush_SetInterpolationColors(int /*long*/ brush, int /*long*/[] presetColors, float[] blendPositions, int count);
+/**
+ * @method flags=no_gen
+ * @param brush cast=(PathGradientBrush *)
+ * @param colors cast=(Color *)
+ * @param count cast=(INT *)
+ */
+public static final native int PathGradientBrush_SetSurroundColors(int /*long*/ brush, int /*long*/[] colors, int[] count);
+/**
+ * @method flags=cpp
+ * @param brush cast=(PathGradientBrush *)
+ * @param path cast=(GraphicsPath *)
+ */
+public static final native int PathGradientBrush_SetGraphicsPath(int /*long*/ brush, int /*long*/ path);
+/**
+ * @method flags=cpp
+ * @param brush cast=(PathGradientBrush *)
+ * @param wrapMode cast=(WrapMode)
+ */
+public static final native int PathGradientBrush_SetWrapMode(int /*long*/ brush, int wrapMode);
+/**
+ * @method flags=new
+ * @param brush cast=(Brush *)
+ * @param width cast=(REAL)
+ */
+public static final native int /*long*/ Pen_new(int /*long*/ brush, float width);
+/** @method flags=delete */
+public static final native void Pen_delete(int /*long*/ pen);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ */
+public static final native int /*long*/ Pen_GetBrush(int /*long*/ pen);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ * @param brush cast=(Brush *)
+ */
+public static final native int Pen_SetBrush(int /*long*/ pen, int /*long*/ brush);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ */
+public static final native int Pen_SetDashOffset(int /*long*/ pen, float dashOffset);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ * @param dashArray cast=(REAL *)
+ * @param count cast=(int)
+ */
+public static final native int Pen_SetDashPattern(int /*long*/ pen, float[] dashArray, int count);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ * @param dashStyle cast=(DashStyle)
+ */
+public static final native int Pen_SetDashStyle(int /*long*/ pen, int dashStyle);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ * @param startCap cast=(LineCap)
+ * @param endCap cast=(LineCap)
+ * @param dashCap cast=(DashCap)
+ */
+public static final native int Pen_SetLineCap(int /*long*/ pen, int startCap, int endCap, int dashCap);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ * @param lineJoin cast=(LineJoin)
+ */
+public static final native int Pen_SetLineJoin(int /*long*/ pen, int lineJoin);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ */
+public static final native int Pen_SetMiterLimit(int /*long*/ pen, float miterLimit);
+/**
+ * @method flags=cpp
+ * @param pen cast=(Pen *)
+ * @param width cast=(REAL)
+ */
+public static final native int Pen_SetWidth(int /*long*/ pen, float width);
+/** @method flags=new */
+public static final native int /*long*/ Point_new(int x, int y);
+/** @method flags=delete */
+public static final native void Point_delete(int /*long*/ point);
+/**
+ * @method flags=new
+ * @param hRgn cast=(HRGN)
+ */
+public static final native int /*long*/ Region_new(int /*long*/ hRgn);
+/**
+ * @method flags=new
+ * @param path cast=(GraphicsPath*)
+ */
+public static final native int /*long*/ Region_newGraphicsPath(int /*long*/ path);
+/** @method flags=new */
+public static final native int /*long*/ Region_new();
+/** @method flags=delete */
+public static final native void Region_delete(int /*long*/ region);
+/**
+ * @method flags=cpp
+ * @param region cast=(Region *)
+ * @param graphics cast=(Graphics *)
+ */
+public static final native int /*long*/ Region_GetHRGN(int /*long*/ region, int /*long*/ graphics);
+/**
+ * @method flags=cpp
+ * @param region cast=(Region *)
+ * @param graphics cast=(Graphics *)
+ */
+public static final native boolean Region_IsInfinite(int /*long*/ region, int /*long*/ graphics);
+/**
+ * @method flags=new
+ * @param color cast=(Color *),flags=struct
+ */
+public static final native int /*long*/ SolidBrush_new(int /*long*/ color);
+/** @method flags=delete */
+public static final native void SolidBrush_delete(int /*long*/ brush);
+/** @method flags=delete */
+public static final native void StringFormat_delete(int /*long*/ format);
+/**
+ * @method flags=cpp
+ * @param format cast=(StringFormat *)
+ */
+public static final native int /*long*/ StringFormat_Clone(int /*long*/ format);
+/** @method accessor=StringFormat::GenericDefault */
+public static final native int /*long*/ StringFormat_GenericDefault();
+/** @method accessor=StringFormat::GenericTypographic */
+public static final native int /*long*/ StringFormat_GenericTypographic();
+/**
+ * @method flags=cpp
+ * @param format cast=(StringFormat *)
+ */
+public static final native int StringFormat_GetFormatFlags(int /*long*/ format);
+/**
+ * @method flags=cpp
+ * @param format cast=(StringFormat *)
+ * @param hotkeyPrefix cast=(HotkeyPrefix)
+ */
+public static final native int StringFormat_SetHotkeyPrefix(int /*long*/ format, int hotkeyPrefix);
+/**
+ * @method flags=cpp
+ * @param format cast=(StringFormat *)
+ * @param flags cast=(StringFormatFlags)
+ */
+public static final native int StringFormat_SetFormatFlags(int /*long*/ format, int flags);
+/**
+ * @method flags=cpp
+ * @param format cast=(StringFormat *)
+ */
+public static final native int StringFormat_SetTabStops(int /*long*/ format, float firstTabOffset, int count, float[] tabStops);
+/**
+ * @method flags=new
+ * @param image cast=(Image *)
+ * @param wrapMode cast=(WrapMode)
+ */
+public static final native int /*long*/ TextureBrush_new(int /*long*/ image, int wrapMode, float dstX, float dstY, float dstWidth, float dstHeight);
+/** @method flags=delete */
+public static final native void TextureBrush_delete(int /*long*/ brush);
+/**
+ * @method flags=cpp
+ * @param brush cast=(TextureBrush *)
+ * @param matrix cast=(Matrix *)
+ */
+public static final native int TextureBrush_SetTransform(int /*long*/ brush, int /*long*/ matrix);
+/**
+ * @method flags=cpp
+ * @param brush cast=(TextureBrush *)
+ */
+public static final native int TextureBrush_ResetTransform(int /*long*/ brush);
+/**
+ * @method flags=cpp
+ * @param brush cast=(TextureBrush *)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int TextureBrush_ScaleTransform(int /*long*/ brush, float sx, float sy, int order);
+/**
+ * @method flags=cpp
+ * @param brush cast=(TextureBrush *)
+ * @param order cast=(MatrixOrder)
+ */
+public static final native int TextureBrush_TranslateTransform(int /*long*/ brush, float dx, float dy, int order);
+}
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
new file mode 100644
index 0000000000..32fe332c2a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/GdiplusStartupInput.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.gdip;
+
+/** @jniclass flags=cpp */
+public class GdiplusStartupInput {
+ public int GdiplusVersion;
+ /** @field cast=(DebugEventProc) */
+ public int /*long*/ DebugEventCallback;
+ /** @field cast=(BOOL) */
+ public boolean SuppressBackgroundThread;
+ /** @field cast=(BOOL) */
+ public boolean SuppressExternalCodecs;
+ public static final int sizeof = Gdip.GdiplusStartupInput_sizeof ();
+}
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
new file mode 100644
index 0000000000..9447286baa
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/PointF.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.gdip;
+
+public class PointF {
+ /** @field cast=(REAL) */
+ public float X;
+ /** @field cast=(REAL) */
+ public float Y;
+}
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
new file mode 100644
index 0000000000..2c61e82eb1
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Rect.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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;
+
+public class Rect {
+ public int X;
+ public int Y;
+ public int Width;
+ public int Height;
+}
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
new file mode 100644
index 0000000000..a3223509ea
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/RectF.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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;
+
+public class RectF {
+ public float X;
+ public float Y;
+ public float Width;
+ public float Height;
+}
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
new file mode 100644
index 0000000000..847a8782fd
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CAUUID.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public final class CAUUID {
+ public int cElems;
+ /** @field cast=(GUID FAR *) */
+ public int /*long*/ pElems;
+ public static final int sizeof = COM.CAUUID_sizeof ();
+}
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
new file mode 100644
index 0000000000..47e71106c1
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
@@ -0,0 +1,951 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, 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 CLSID_DragDropHelper = COM.IIDFromString("{4657278A-411B-11d2-839A-00C04FD918D0}"); //$NON-NLS-1$
+ public static final GUID IID_IDropTargetHelper = COM.IIDFromString("{4657278B-411B-11d2-839A-00C04FD918D0}"); //$NON-NLS-1$
+ public static final GUID IID_IDragSourceHelper = COM.IIDFromString("{DE5BF786-477A-11d2-839D-00C04FD918D0}"); //$NON-NLS-1$
+ public static final GUID IID_IDragSourceHelper2 = COM.IIDFromString("{83E07D0D-0C5F-4163-BF1A-60B274051E40}"); //$NON-NLS-1$
+ 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 IIDIDispatchEx = IIDFromString("{A6EF9860-C720-11D0-9337-00A0C90DCAA9}"); //$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*/ String IIDIHTMLDocumentEvents2 = /*IIDFromString(*/"{3050F613-98B5-11CF-BB82-00AA00BDCE0B}"/*)*/;
+ public static final GUID IIDIInternetSecurityManager = IIDFromString("{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$
+ public static final GUID IIDIAuthenticate = IIDFromString("{79eac9d0-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$
+ public static final GUID IIDIJScriptTypeInfo = IIDFromString("{C59C6B12-F6C1-11CF-8835-00A0C911E8B2}"); //$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 DISPATCH_CONSTRUCT = 0x4000;
+ 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 DISP_E_UNKNOWNNAME = 0x80020006;
+ //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_HTMLDOCUMENTEVENTS_ONDBLCLICK = 0xFFFFFDA7;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONDRAGEND = 0x80010015;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART = 0x8001000B;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN = 0xFFFFFDA6;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS = 0xFFFFFDA5;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYUP = 0xFFFFFDA4;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT = 0x80010009;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER = 0x80010008;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE = 0xFFFFFDA2;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN = 0xFFFFFDA3;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP = 0xFFFFFDA1;
+ public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL = 1033;
+
+ //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 DSH_ALLOWDROPDESCRIPTIONTEXT = 0x1;
+ 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_ACCESSDENIED = 0x80070005;
+ 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_I1 = 16;
+ 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_UI2 = 18;
+ 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 */
+
+/** @param lpszProgID cast=(LPCOLESTR) */
+public static final native int CLSIDFromProgID(char[] lpszProgID, GUID pclsid);
+/** @param lpsz cast=(LPOLESTR) */
+public static final native int CLSIDFromString(char[] lpsz, GUID pclsid);
+/**
+ * @param pUnkOuter cast=(LPUNKNOWN)
+ * @param ppv cast=(LPVOID *)
+ */
+public static final native int CoCreateInstance(GUID rclsid, int /*long*/ pUnkOuter, int dwClsContext, GUID riid, int /*long*/[] ppv);
+public static final native void CoFreeUnusedLibraries();
+/**
+ * @param pServerInfo cast=(COSERVERINFO *)
+ * @param ppv cast=(LPVOID *)
+ */
+public static final native int CoGetClassObject(GUID rclsid, int dwClsContext, int /*long*/ pServerInfo, GUID riid, int /*long*/[] ppv);
+/**
+ * @param pUnk cast=(IUnknown *)
+ * @param fLock cast=(BOOL)
+ * @param fLastUnlockReleases cast=(BOOL)
+ */
+public static final native int CoLockObjectExternal(int /*long*/ pUnk, boolean fLock, boolean fLastUnlockReleases);
+/** @param cb cast=(ULONG) */
+public static final native int /*long*/ CoTaskMemAlloc(int cb);
+/** @param pv cast=(LPVOID) */
+public static final native void CoTaskMemFree(int /*long*/ pv);
+/**
+ * @param pDataObject cast=(IDataObject *)
+ * @param pDropSource cast=(IDropSource *)
+ * @param pdwEffect cast=(LPDWORD)
+ */
+public static final native int DoDragDrop(int /*long*/ pDataObject, int /*long*/ pDropSource, int dwOKEffect, int[] pdwEffect);
+/** @param szFileName cast=(LPCWSTR) */
+public static final native int GetClassFile(char[] szFileName, GUID clsid);
+/** @param lpsz cast=(LPOLESTR) */
+public static final native int IIDFromString(char[] lpsz, GUID lpiid);
+public static final native boolean IsEqualGUID(GUID rguid1, GUID rguid2);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory(int /*long*/ Destination, FORMATETC Source, int Length);
+/**
+ * @param DestinationPtr cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory(int /*long*/ DestinationPtr, GUID Source, int Length);
+/**
+ * @param DestinationPtr cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory(int /*long*/ DestinationPtr, OLEINPLACEFRAMEINFO Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory(int /*long*/ Destination, STATSTG Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory(int /*long*/ Destination, STGMEDIUM Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(STGMEDIUM Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(DISPPARAMS Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(FORMATETC Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(GUID Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(STATSTG Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(TYPEATTR Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(RECT Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(FUNCDESC Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(VARDESC Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory(VARIANT Destination, int /*long*/ Source, int Length);
+/**
+ * @param pClientSite cast=(IOleClientSite *)
+ * @param pStg cast=(IStorage *)
+ * @param ppvObject cast=(void **)
+ */
+public static final native int OleCreate(GUID rclsid, GUID riid, int renderopt, FORMATETC pFormatEtc, int /*long*/ pClientSite, int /*long*/ pStg, int /*long*/[] ppvObject);
+/**
+ * @param lpszFileName cast=(LPCOLESTR)
+ * @param pClientSite cast=(LPOLECLIENTSITE)
+ * @param pStg cast=(LPSTORAGE)
+ * @param ppvObj cast=(LPVOID *)
+ */
+public static final native int OleCreateFromFile(GUID rclsid, char[] lpszFileName, GUID riid, int renderopt, FORMATETC pFormatEtc, int /*long*/ pClientSite, int /*long*/ pStg, int /*long*/[] ppvObj);
+/**
+ * @param hwndOwner cast=(HWND)
+ * @param lpszCaption cast=(LPCOLESTR)
+ * @param lplpUnk cast=(LPUNKNOWN FAR*)
+ * @param lpPageClsID cast=(LPCLSID)
+ * @param lcid cast=(LCID)
+ * @param lpvReserved cast=(LPVOID)
+ */
+public static final native int OleCreatePropertyFrame(int /*long*/ hwndOwner,int x, int y, char[] lpszCaption, int cObjects, int /*long*/[] lplpUnk, int cPages, int /*long*/ lpPageClsID, int lcid, int dwReserved, int /*long*/ lpvReserved);
+/**
+ * @param pUnk cast=(LPUNKNOWN)
+ * @param dwAspect cast=(DWORD)
+ * @param hdcDraw cast=(HDC)
+ * @param lprcBounds cast=(LPRECT)
+ */
+public static final native int OleDraw(int /*long*/ pUnk, int dwAspect, int /*long*/ hdcDraw, int /*long*/ lprcBounds);
+public static final native int OleFlushClipboard();
+/** @param ppDataObject cast=(IDataObject **) */
+public static final native int OleGetClipboard(int /*long*/[] ppDataObject);
+/** @param pDataObject cast=(IDataObject *) */
+public static final native int OleIsCurrentClipboard(int /*long*/ pDataObject);
+/** @param pObject cast=(LPOLEOBJECT) */
+public static final native boolean OleIsRunning(int /*long*/ pObject);
+/**
+ * @param pStg cast=(IStorage *)
+ * @param pClientSite cast=(IOleClientSite *)
+ * @param ppvObj cast=(LPVOID *)
+ */
+public static final native int OleLoad(int /*long*/ pStg, GUID riid, int /*long*/ pClientSite, int /*long*/[] ppvObj);
+/** @param pUnknown cast=(LPUNKNOWN) */
+public static final native int OleRun(int /*long*/ pUnknown);
+/**
+ * @param pPS cast=(IPersistStorage *)
+ * @param pStg cast=(IStorage *)
+ */
+public static final native int OleSave(int /*long*/ pPS, int /*long*/ pStg, boolean fSameAsLoad);
+/** @param pDataObject cast=(IDataObject *) */
+public static final native int OleSetClipboard(int /*long*/ pDataObject);
+/** @param pUnk cast=(LPUNKNOWN) */
+public static final native int OleSetContainedObject(int /*long*/ pUnk, boolean fContained);
+/**
+ * @param holemenu cast=(HOLEMENU)
+ * @param hwndFrame cast=(HWND)
+ * @param hwndActiveObject cast=(HWND)
+ * @param lpFrame cast=(LPOLEINPLACEFRAME)
+ * @param lpActiveObj cast=(LPOLEINPLACEACTIVEOBJECT)
+ */
+public static final native int OleSetMenuDescriptor(int /*long*/ holemenu, int /*long*/ hwndFrame, int /*long*/ hwndActiveObject, int /*long*/ lpFrame, int /*long*/ lpActiveObj);
+/**
+ * @param clr cast=(OLE_COLOR)
+ * @param hpal cast=(HPALETTE)
+ * @param pcolorref cast=(COLORREF *)
+ */
+public static final native int OleTranslateColor(int clr, int /*long*/ hpal, int[] pcolorref);
+/** @param lplpszProgID cast=(LPOLESTR *) */
+public static final native int ProgIDFromCLSID(GUID clsid, int /*long*/[] lplpszProgID);
+/**
+ * @param hwnd cast=(HWND)
+ * @param pDropTarget cast=(IDropTarget *)
+ */
+public static final native int RegisterDragDrop(int /*long*/ hwnd, int /*long*/ pDropTarget);
+/** @param pmedium cast=(STGMEDIUM *) */
+public static final native void ReleaseStgMedium(int /*long*/ pmedium);
+/** @param hwnd cast=(HWND) */
+public static final native int RevokeDragDrop(int /*long*/ hwnd);
+/**
+ * @param hwnd cast=(HWND)
+ * @param pDataObject cast=(IDataObject *)
+ * @param pDropSource cast=(IDropSource *)
+ * @param pdwEffect cast=(DWORD *)
+ */
+public static final native int SHDoDragDrop(int /*long*/ hwnd, int /*long*/ pDataObject, int /*long*/ pDropSource, int dwOKEffect, int[] pdwEffect);
+/** @param ppstgOpen cast=(IStorage **) */
+public static final native int StgCreateDocfile(char[] pwcsName, int grfMode, int reserved, int /*long*/[] ppstgOpen);
+/** @param pwcsName cast=(const WCHAR *) */
+public static final native int StgIsStorageFile(char[] pwcsName);
+/**
+ * @param pwcsName cast=(const WCHAR *)
+ * @param pstgPriority cast=(IStorage *)
+ * @param snbExclude cast=(SNB)
+ * @param ppstgOpen cast=(IStorage **)
+ */
+public static final native int StgOpenStorage(char[] pwcsName, int /*long*/ pstgPriority, int grfMode, int /*long*/ snbExclude, int reserved, int /*long*/[] ppstgOpen);
+/** @param ppsz cast=(LPOLESTR *) */
+public static final native int StringFromCLSID(GUID rclsid, int /*long*/[] ppsz);
+/** @param sz cast=(OLECHAR *) */
+public static final native int /*long*/ SysAllocString(char [] sz);
+/** @param bstr cast=(BSTR) */
+public static final native void SysFreeString(int /*long*/ bstr);
+/** @param bstr cast=(BSTR) */
+public static final native int SysStringByteLen(int /*long*/ bstr);
+/**
+ * @param pvargDest cast=(VARIANTARG FAR* )
+ * @param pvarSrc cast=(VARIANTARG FAR* )
+ * @param vt cast=(VARTYPE)
+ */
+public static final native int VariantChangeType(int /*long*/ pvargDest, int /*long*/ pvarSrc, short wFlags, short vt);
+/** @param pvarg cast=(VARIANTARG FAR* ) */
+public static final native int VariantClear(int /*long*/ pvarg);
+/** @param pvarg cast=(VARIANTARG FAR* ) */
+public static final native void VariantInit(int /*long*/ pvarg);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, POINT arg2, int arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, POINT arg2, int arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, POINT arg1, int arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, POINT arg1, long arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, POINT arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, SHDRAGIMAGE arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, SHDRAGIMAGE arg0, long arg1);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int[] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, long[] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1, int arg2, int arg3, long[] arg4);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4, int [] arg5);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1, int arg2, int arg3, int arg4, long[] arg5);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long[] arg1);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, int[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int[] arg2);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long arg2);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, DVTARGETDEVICE arg2, SIZE arg3);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, GUID arg2, int arg3, int [] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, GUID arg2, long arg3, long [] arg4);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, FORMATETC arg1, int [] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, FORMATETC arg1, long[] arg2);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1, long arg2, long arg3);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ 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 /*long*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, long arg5, EXCEPINFO arg6, int[] arg7);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, STATSTG arg1, int [] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, STATSTG arg1, long[] arg2);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, MSG arg0);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, MSG arg1, int arg2, int arg3, int arg4, RECT arg5);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, MSG arg1, long arg2, int arg3, long arg4, RECT arg5);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, SIZE arg1);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, boolean arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, boolean arg1);
+
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, boolean arg0);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, CAUUID arg0);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, CONTROLINFO arg0);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, FORMATETC arg0);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, FORMATETC arg0, STGMEDIUM arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, FORMATETC arg0, STGMEDIUM arg1, boolean arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int[] arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, long[] arg1);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, GUID arg1, int[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, GUID arg1, long[] arg2);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, int arg2, int arg3, int[] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, long arg1, int arg2, int arg3, int[] arg4);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, int arg2, int arg3, int arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, int arg2, long arg3, long arg4);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, OLECMD arg2, OLECMDTEXT arg3);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, LICINFO arg0);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0, int arg1, boolean arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0, long arg1, boolean arg2);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0, RECT arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int [] arg1, int [] arg2, int[] arg3, int [] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] arg1, long[] arg2, int[] arg3, long[] arg4);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int [] arg1, int arg2, int[] arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] arg1, int arg2, int[] arg3);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, int arg4, EXCEPINFO arg5, int arg6);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, long arg4, EXCEPINFO arg5, long arg6);
+
+/** @param pStg cast=(IStorage *) */
+public static final native int WriteClassStg(int /*long*/ 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 ROLE_SYSTEM_SPLITBUTTON = 0x3e;
+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 */
+
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ * @param dwObjectID cast=(DWORD)
+ * @param ppvObject cast=(LPVOID *)
+ */
+public static final native int AccessibleObjectFromWindow (int /*long*/ hwnd, int dwObjectID, GUID riid, int /*long*/[] ppvObject);
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ * @param ppvObject cast=(LPVOID *)
+ */
+public static final native int CreateStdAccessibleObject (int /*long*/ hwnd, int idObject, GUID riidInterface, int /*long*/[] ppvObject);
+/**
+ * @method flags=dynamic
+ * @param pAcc cast=(LPUNKNOWN)
+ */
+public static final native int /*long*/ LresultFromObject (GUID riid, int /*long*/ wParam, int /*long*/ pAcc);
+/*USED*/public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3);
+/*USED*/public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
+/*USED,NEW*/public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4);
+/*USED*/public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int /*long*/ arg5);
+/*USED,NEW*/public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, int arg2, int arg3, int arg4, int /*long*/ arg5);
+/*USED*/public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int arg4, int arg5, int arg6, int arg7);
+
+/** Custom accessibility natives */
+
+/** @method flags=no_gen */
+public static final native int VtblCall_VARIANT(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0);
+/** @method flags=no_gen */
+public static final native int VtblCall_VARIANTP(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1);
+/** @method flags=no_gen */
+public static final native int VtblCall_IVARIANT(int fnNumber, int /*long*/ ppVtbl, int arg0, int /*long*/ arg1);
+/** @method flags=no_gen */
+public static final native int VtblCall_IVARIANTP(int fnNumber, int /*long*/ ppVtbl, int arg0, int /*long*/ arg1, int /*long*/ arg2);
+/** @method flags=no_gen */
+public static final native int VtblCall_PVARIANTP(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2);
+/** @method flags=no_gen */
+public static final native int VtblCall_PPPPVARIANT(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accChild_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accName_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accValue_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accDescription_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accRole_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accState_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accHelp_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accHelpTopic_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accKeyboardShortcut_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ get_accDefaultAction_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ accSelect_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ accLocation_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ accNavigate_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ accDoDefaultAction_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ put_accName_CALLBACK(int /*long*/ func);
+/** @method flags=no_gen */
+public static final native int /*long*/ put_accValue_CALLBACK(int /*long*/ func);
+
+/* sizeof's */
+public static final native int CAUUID_sizeof();
+public static final native int CONTROLINFO_sizeof();
+public static final native int COSERVERINFO_sizeof();
+public static final native int DISPPARAMS_sizeof();
+public static final native int DVTARGETDEVICE_sizeof();
+public static final native int ELEMDESC_sizeof();
+public static final native int EXCEPINFO_sizeof();
+public static final native int FORMATETC_sizeof();
+public static final native int FUNCDESC_sizeof();
+public static final native int GUID_sizeof();
+public static final native int LICINFO_sizeof();
+public static final native int OLECMD_sizeof();
+public static final native int OLEINPLACEFRAMEINFO_sizeof();
+public static final native int STATSTG_sizeof();
+public static final native int STGMEDIUM_sizeof();
+public static final native int TYPEATTR_sizeof();
+public static final native int TYPEDESC_sizeof();
+public static final native int VARDESC_sizeof();
+public static final native int VARIANT_sizeof();
+}
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
new file mode 100644
index 0000000000..d95aac5123
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CONTROLINFO.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public final class CONTROLINFO {
+ public int cb;
+ /** @field cast=(HACCEL) */
+ public int /*long*/ hAccel;
+ public short cAccel;
+ public int dwFlags;
+ public static final int sizeof = COM.CONTROLINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..125240cfd9
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COSERVERINFO.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public class COSERVERINFO {
+ public int dwReserved1;
+ /** @field cast=(LPWSTR) */
+ public int /*long*/ pwszName;
+ /** @field cast=(COAUTHINFO *) */
+ public int /*long*/ pAuthInfo;
+ public int dwReserved2;
+ public static final int sizeof = COM.COSERVERINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..db5c5886ac
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DISPPARAMS.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public final class DISPPARAMS {
+ /** @field cast=(VARIANTARG FAR *) */
+ public int /*long*/ rgvarg;
+ /** @field cast=(DISPID FAR *) */
+ public int /*long*/ rgdispidNamedArgs;
+ public int cArgs;
+ public int cNamedArgs;
+ public static final int sizeof = COM.DISPPARAMS_sizeof ();
+}
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
new file mode 100644
index 0000000000..054aea7534
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DVTARGETDEVICE.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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;
+
+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 = COM.DVTARGETDEVICE_sizeof ();
+}
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
new file mode 100644
index 0000000000..207dea841f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/EXCEPINFO.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public final class EXCEPINFO {
+ public short wCode;
+ public short wReserved;
+ /** @field cast=(BSTR) */
+ public int /*long*/ bstrSource;
+ /** @field cast=(BSTR) */
+ public int /*long*/ bstrDescription;
+ /** @field cast=(BSTR) */
+ public int /*long*/ bstrHelpFile;
+ public int dwHelpContext;
+ /** @field cast=(void FAR *) */
+ public int /*long*/ pvReserved;
+ /** @field cast=(HRESULT (STDAPICALLTYPE FAR* )(struct tagEXCEPINFO FAR*)) */
+ public int /*long*/ pfnDeferredFillIn;
+ public int scode;
+ public static final int sizeof = COM.EXCEPINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..5bfaf024ce
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FORMATETC.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public final class FORMATETC {
+ /** @field cast=(CLIPFORMAT) */
+ public int cfFormat;
+ /** @field cast=(DVTARGETDEVICE *) */
+ public int /*long*/ ptd;
+ public int dwAspect;
+ public int lindex;
+ public int tymed;
+ public static final int sizeof = COM.FORMATETC_sizeof ();
+}
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
new file mode 100644
index 0000000000..a9e4ab3d4e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FUNCDESC.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public class FUNCDESC {
+ /** @field cast=(MEMBERID) */
+ public int memid;
+ /** @field cast=(SCODE FAR *) */
+ public int /*long*/ lprgscode;
+ /** @field cast=(ELEMDESC FAR *) */
+ public int /*long*/ lprgelemdescParam;
+ /** @field cast=(FUNCKIND) */
+ public int funckind;
+ /** @field cast=(INVOKEKIND) */
+ public int invkind;
+ /** @field cast=(CALLCONV) */
+ public int callconv;
+ public short cParams;
+ public short cParamsOpt;
+ public short oVft;
+ public short cScodes;
+// ELEMDESC elemdescFunc;
+// TYPEDESC elemdescFunc.tdesc
+ /** @field accessor=elemdescFunc.tdesc.lptdesc,cast=(struct FARSTRUCT tagTYPEDESC FAR* ) */
+ public int /*long*/ elemdescFunc_tdesc_union;
+ /** @field accessor=elemdescFunc.tdesc.vt */
+ public short elemdescFunc_tdesc_vt;
+// PARAMDESC elemdescFunc.paramdesc
+ /** @field accessor=elemdescFunc.paramdesc.pparamdescex,cast=(LPPARAMDESCEX) */
+ public int /*long*/ elemdescFunc_paramdesc_pparamdescex;
+ /** @field accessor=elemdescFunc.paramdesc.wParamFlags */
+ public short elemdescFunc_paramdesc_wParamFlags;
+ public short wFuncFlags;
+ public static final int sizeof = COM.FUNCDESC_sizeof ();
+}
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
new file mode 100644
index 0000000000..8a4c3017f9
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/GUID.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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;
+
+public final class GUID {
+ public int Data1;
+ public short Data2;
+ public short Data3;
+ public byte[] Data4 = new byte[8];
+ public static final int sizeof = COM.GUID_sizeof ();
+}
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
new file mode 100644
index 0000000000..607d4e7e67
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * 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;
+
+
+public class IAccessible extends IDispatch {
+
+public IAccessible(int /*long*/ address) {
+ super(address);
+}
+
+public int get_accParent(int /*long*/ ppdispParent) {
+ return COM.VtblCall(7, address, ppdispParent);
+}
+public int get_accChildCount(int /*long*/ pcountChildren) {
+ return COM.VtblCall(8, address, pcountChildren);
+}
+public int get_accChild(int /*long*/ variant, int /*long*/ ppdispChild) {
+ return COM.VtblCall_VARIANTP(9, address, variant, ppdispChild);
+}
+public int get_accName(int /*long*/ variant, int /*long*/ pszName) {
+ return COM.VtblCall_VARIANTP(10, address, variant, pszName);
+}
+public int get_accValue(int /*long*/ variant, int /*long*/ pszValue) {
+ return COM.VtblCall_VARIANTP(11, address, variant, pszValue);
+}
+public int get_accDescription(int /*long*/ variant, int /*long*/ pszDescription) {
+ return COM.VtblCall_VARIANTP(12, address, variant, pszDescription);
+}
+public int get_accRole(int /*long*/ variant, int /*long*/ pvarRole) {
+ return COM.VtblCall_VARIANTP(13, address, variant, pvarRole);
+}
+public int get_accState(int /*long*/ variant, int /*long*/ pvarState) {
+ return COM.VtblCall_VARIANTP(14, address, variant, pvarState);
+}
+public int get_accHelp(int /*long*/ variant, int /*long*/ pszHelp) {
+ return COM.VtblCall_VARIANTP(15, address, variant, pszHelp);
+}
+public int get_accHelpTopic(int /*long*/ pszHelpFile, int /*long*/ variant, int /*long*/ pidTopic) {
+ return COM.VtblCall_PVARIANTP(16, address, pszHelpFile, variant, pidTopic);
+}
+public int get_accKeyboardShortcut(int /*long*/ variant, int /*long*/ pszKeyboardShortcut) {
+ return COM.VtblCall_VARIANTP(17, address, variant, pszKeyboardShortcut);
+}
+public int get_accFocus(int /*long*/ pvarChild) {
+ return COM.VtblCall(18, address, pvarChild);
+}
+public int get_accSelection(int /*long*/ pvarChildren) {
+ return COM.VtblCall(19, address, pvarChildren);
+}
+public int get_accDefaultAction(int /*long*/ variant, int /*long*/ pszDefaultAction) {
+ return COM.VtblCall_VARIANTP(20, address, variant, pszDefaultAction);
+}
+public int accSelect(int flagsSelect, int /*long*/ variant) {
+ return COM.VtblCall_IVARIANT(21, address, flagsSelect, variant);
+}
+public int accLocation(int /*long*/ pxLeft, int /*long*/ pyTop, int /*long*/ pcxWidth, int /*long*/ pcyHeight, int /*long*/ variant) {
+ return COM.VtblCall_PPPPVARIANT(22, address, pxLeft, pyTop, pcxWidth, pcyHeight, variant);
+}
+public int accNavigate(int navDir, int /*long*/ variant, int /*long*/ pvarEndUpAt) {
+ return COM.VtblCall_IVARIANTP(23, address, navDir, variant, pvarEndUpAt);
+}
+public int accHitTest(int xLeft, int yTop, int /*long*/ pvarChild) {
+ return COM.VtblCall(24, address, xLeft, yTop, pvarChild);
+}
+public int accDoDefaultAction(int /*long*/ variant) {
+ return COM.VtblCall_VARIANT(25, address, variant);
+}
+public int put_accName(int /*long*/ variant, int /*long*/ szName) {
+ return COM.VtblCall_VARIANTP(26, address, variant, szName);
+}
+public int put_accValue(int /*long*/ variant, int /*long*/ szValue) {
+ return COM.VtblCall_VARIANTP(27, address, variant, 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
new file mode 100644
index 0000000000..c10211c0a0
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IClassFactory2.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * 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;
+
+public class IClassFactory2 extends IUnknown
+{
+public IClassFactory2(int /*long*/ address) {
+ super(address);
+}
+public int CreateInstanceLic(int /*long*/ pUnkOuter, int /*long*/ pUnkReserved, GUID riid, int /*long*/ bstrKey, int /*long*/ 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 /*long*/[] 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
new file mode 100644
index 0000000000..66b4b3599f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPoint.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * 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;
+
+public class IConnectionPoint extends IUnknown
+{
+public IConnectionPoint(int /*long*/ address) {
+ super(address);
+}
+public int Advise(int /*long*/ 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
new file mode 100644
index 0000000000..250713aa25
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPointContainer.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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;
+
+public class IConnectionPointContainer extends IUnknown
+{
+public IConnectionPointContainer(int /*long*/ address) {
+ super(address);
+}
+public int FindConnectionPoint(GUID riid, int /*long*/[] 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
new file mode 100644
index 0000000000..b788e201b0
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDataObject.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * 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;
+
+public class IDataObject extends IUnknown {
+public IDataObject(int /*long*/ address) {
+ super(address);
+}
+public int EnumFormatEtc(int dwDirection, int /*long*/[] 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
new file mode 100644
index 0000000000..211582bceb
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+import org.eclipse.swt.internal.win32.*;
+
+public class IDispatch extends IUnknown {
+
+public IDispatch(int /*long*/ 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 /*long*/ hHeap = OS.GetProcessHeap();
+ int /*long*/ ppNames = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, size * OS.PTR_SIZEOF);
+ int /*long*/[] memTracker = new int /*long*/[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 /*long*/ 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 + OS.PTR_SIZEOF * i, new int /*long*/[]{pName}, OS.PTR_SIZEOF);
+ // 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 /*long*/[] 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 /*long*/ 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/IDispatchEx.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatchEx.java
new file mode 100644
index 0000000000..76e18752b3
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatchEx.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public class IDispatchEx extends IDispatch {
+
+public IDispatchEx (int /*long*/ address) {
+ super (address);
+}
+
+public int GetDispID (int /*long*/ bstrName, int grfdex, int[] pid) {
+ return COM.VtblCall (7, address, bstrName, grfdex, pid);
+}
+
+public int InvokeEx (int id, int lcid, int wFlags, DISPPARAMS pdp, int /*long*/ pvarRes, EXCEPINFO pei, int /*long*/ pspCaller) {
+ return COM.VtblCall (8, address, id, lcid, wFlags, pdp, pvarRes, pei, pspCaller);
+}
+
+public int DeleteMemberByName (int /*long*/ bstrName, int grfdex) {
+ return COM.VtblCall (9, address, bstrName, grfdex);
+}
+
+public int DeleteMemberByDispID (int id) {
+ return COM.VtblCall (10, address, id);
+}
+
+public int GetMemberProperties (int id, int grfdexFetch, int[] pgrfdex) {
+ return COM.VtblCall (11, address, id, grfdexFetch, pgrfdex);
+}
+
+public int GetMemberName (int id, int /*long*/[] pbstrName) {
+ return COM.VtblCall (12, address, id, pbstrName);
+}
+
+public int GetNextDispID (int grfdex, int id, int[] pid) {
+ return COM.VtblCall (13, address, grfdex, id, pid);
+}
+
+public int GetNameSpaceParent (int /*long*/[] ppunk) {
+ return COM.VtblCall (14, address, ppunk);
+}
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDragSourceHelper.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDragSourceHelper.java
new file mode 100644
index 0000000000..b739306765
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDragSourceHelper.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+import org.eclipse.swt.internal.win32.*;
+
+public class IDragSourceHelper extends IUnknown {
+public IDragSourceHelper(int /*long*/ address) {
+ super(address);
+}
+public int InitializeFromBitmap(SHDRAGIMAGE pshdi, int /*long*/ pDataObject) {
+ return COM.VtblCall(3, address, pshdi, pDataObject);
+}
+public int InitializeFromWindow(int /*long*/ hwnd, POINT ppt, int /*long*/ pDataObject) {
+ return COM.VtblCall(4, address, hwnd, ppt, pDataObject);
+}
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDragSourceHelper2.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDragSourceHelper2.java
new file mode 100644
index 0000000000..5a2f611f2f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDragSourceHelper2.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public class IDragSourceHelper2 extends IDragSourceHelper {
+public IDragSourceHelper2(int /*long*/ address) {
+ super(address);
+}
+public int SetFlags(int dwFlags) {
+ return COM.VtblCall(5, address, dwFlags);
+}
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDropTargetHelper.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDropTargetHelper.java
new file mode 100644
index 0000000000..4c66578475
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDropTargetHelper.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+import org.eclipse.swt.internal.win32.*;
+
+public class IDropTargetHelper extends IUnknown {
+public IDropTargetHelper(int /*long*/ address) {
+ super(address);
+}
+public int DragEnter(int /*long*/ hwndTarget, int /*long*/ pDataObject, POINT ppt, int dwEffect) {
+ return COM.VtblCall(3, address, hwndTarget, pDataObject, ppt, dwEffect);
+}
+public int DragLeave() {
+ return COM.VtblCall(4, address);
+}
+public int DragOver(POINT ppt, int dwEffect) {
+ return COM.VtblCall(5, address, ppt, dwEffect);
+}
+public int Drop(int /*long*/ pDataObject, POINT ppt, int dwEffect) {
+ return COM.VtblCall(6, address, pDataObject, ppt, dwEffect);
+}
+public int Show(boolean fShow) {
+ return COM.VtblCall(7, address, fShow);
+}
+}
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
new file mode 100644
index 0000000000..e208d9b0c2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnum.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * 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;
+
+public class IEnum extends IUnknown
+{
+public IEnum(int /*long*/ address) {
+ super(address);
+}
+public int Clone( int /*long*/[] ppenum ){
+ return COM.VtblCall(6, address, ppenum);
+}
+public int Next(int celt, int /*long*/ 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
new file mode 100644
index 0000000000..44db7e38df
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumFORMATETC.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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;
+
+public class IEnumFORMATETC extends IEnum {
+public IEnumFORMATETC(int /*long*/ 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
new file mode 100644
index 0000000000..7ae5f3c343
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumSTATSTG.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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;
+
+public class IEnumSTATSTG extends IEnum {
+public IEnumSTATSTG(int /*long*/ 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
new file mode 100644
index 0000000000..478178a8ca
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumVARIANT.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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;
+
+public class IEnumVARIANT extends IEnum {
+public IEnumVARIANT(int /*long*/ 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
new file mode 100644
index 0000000000..edfdd07b40
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IFont.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * 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;
+
+public class IFont extends IUnknown {
+public IFont(int /*long*/ address) {
+ super(address);
+}
+public int get_hFont(int /*long*/[] 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
new file mode 100644
index 0000000000..4ef147e8db
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IMoniker.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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;
+
+public class IMoniker extends IPersist
+{
+public IMoniker(int /*long*/ 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
new file mode 100644
index 0000000000..734cdad81b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleCommandTarget.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * 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;
+
+public class IOleCommandTarget extends IUnknown {
+public IOleCommandTarget(int /*long*/ 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 /*long*/ pvaIn, // Pointer to input arguments
+ int /*long*/ 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
new file mode 100644
index 0000000000..5e009c87bb
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleControl.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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;
+
+public class IOleControl extends IUnknown
+{
+public IOleControl(int /*long*/ 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
new file mode 100644
index 0000000000..434069eacd
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocument.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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;
+
+public class IOleDocument extends IUnknown
+{
+public IOleDocument(int /*long*/ address) {
+ super(address);
+}
+public int CreateView(int /*long*/ pIPSite,int /*long*/ pstm, int dwReserved, int /*long*/[] 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
new file mode 100644
index 0000000000..a50c10696f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocumentView.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * 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.RECT;
+
+public class IOleDocumentView extends IUnknown
+{
+public IOleDocumentView(int /*long*/ address) {
+ super(address);
+}
+public int SetInPlaceSite(int /*long*/ 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
new file mode 100644
index 0000000000..72b0b93229
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceActiveObject.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+import org.eclipse.swt.internal.win32.*;
+
+public class IOleInPlaceActiveObject extends IOleWindow
+{
+public IOleInPlaceActiveObject(int /*long*/ address) {
+ super(address);
+}
+public int TranslateAccelerator(MSG lpmsg) {
+ //lpmsg - Pointer to message that may need translating
+ return COM.VtblCall(5, address, lpmsg);
+}
+public void OnFrameWindowActivate(boolean fActivate) {
+ COM.VtblCall(6, getAddress(), fActivate);
+}
+public void OnDocWindowActivate(boolean fActivate) {
+ COM.VtblCall(7, getAddress(), fActivate);
+}
+public int ResizeBorder(RECT prcBorder, int /*long*/ 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
new file mode 100644
index 0000000000..242841610b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceObject.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * 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 IOleInPlaceObject extends IOleWindow
+{
+public IOleInPlaceObject(int /*long*/ 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
new file mode 100644
index 0000000000..3075d83f69
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleLink.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * 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;
+
+public class IOleLink extends IUnknown
+{
+public IOleLink(int /*long*/ address) {
+ super(address);
+}
+public int BindIfRunning() {
+ return COM.VtblCall(10, address);
+}
+public int GetSourceMoniker(int /*long*/[] 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
new file mode 100644
index 0000000000..81bd39f9df
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleObject.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+import org.eclipse.swt.internal.win32.*;
+
+public class IOleObject extends IUnknown
+{
+public IOleObject(int /*long*/ address) {
+ super(address);
+}
+public int Advise(int /*long*/ 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 /*long*/ pActiveSite, int lindex, int /*long*/ hwndParent, RECT lprcPosRect) {
+ return COM.VtblCall(11, address, iVerb, lpmsg, pActiveSite, lindex, hwndParent, lprcPosRect);
+}
+public int GetClientSite(int /*long*/[] ppvClientSite) {
+ return COM.VtblCall(4, address, ppvClientSite);
+}
+public int GetExtent(int dwDrawAspect, SIZE pSizel) {
+ return COM.VtblCall(18, address, dwDrawAspect, pSizel);
+}
+public int SetClientSite(int /*long*/ 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
new file mode 100644
index 0000000000..8585eb0d9d
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleWindow.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * 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;
+
+public class IOleWindow extends IUnknown {
+public IOleWindow(int /*long*/ address) {
+ super(address);
+}
+public int GetWindow(int /*long*/[] 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
new file mode 100644
index 0000000000..828ccfd48c
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersist.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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;
+
+public class IPersist extends IUnknown
+{
+public IPersist(int /*long*/ 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/IPersistFile.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistFile.java
new file mode 100644
index 0000000000..39bfccece4
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistFile.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, 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 IPersistFile extends IPersist
+{
+public IPersistFile(int /*long*/ address) {
+ super(address);
+}
+public int IsDirty() {
+ return COM.VtblCall(4, address);
+}
+public int Load(int /*long*/ pszFileName, int dwMode) {
+ return COM.VtblCall(5, address, pszFileName, dwMode);
+}
+public int Save(int /*long*/ pszFileName, boolean fRemember) {
+ return COM.VtblCall(6, address, pszFileName, fRemember);
+}
+public int SaveCompleted(int /*long*/ pszFileName) {
+ return COM.VtblCall(7, address, pszFileName);
+}
+public int GetCurFile(int /*long*/ [] ppszFileName){
+ return COM.VtblCall(8, address, ppszFileName);
+}
+}
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
new file mode 100644
index 0000000000..34d1af7385
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStorage.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * 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;
+
+public class IPersistStorage extends IPersist
+{
+public IPersistStorage(int /*long*/ address) {
+ super(address);
+}
+public int IsDirty() {
+ return COM.VtblCall(4, address);
+}
+public int InitNew(int /*long*/ pStg) {
+ return COM.VtblCall(5, address, pStg);
+}
+public int Load(int /*long*/ pStg) {
+ return COM.VtblCall(6, address, pStg);
+}
+public int Save(int /*long*/ pStgSave, boolean fSameAsLoad) {
+ return COM.VtblCall(7, address, pStgSave, fSameAsLoad);
+}
+public int SaveCompleted(int /*long*/ 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
new file mode 100644
index 0000000000..ff12382e12
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStreamInit.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * 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;
+
+public class IPersistStreamInit extends IPersist
+{
+public IPersistStreamInit(int /*long*/ address) {
+ super(address);
+}
+
+public int Load(int /*long*/ 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
new file mode 100644
index 0000000000..441cb26392
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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;
+
+public class IProvideClassInfo extends IUnknown
+{
+public IProvideClassInfo(int /*long*/ address) {
+ super(address);
+}
+public int GetClassInfo(int /*long*/[] 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
new file mode 100644
index 0000000000..08b95a0212
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo2.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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;
+
+public class IProvideClassInfo2 extends IProvideClassInfo
+{
+public IProvideClassInfo2(int /*long*/ 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
new file mode 100644
index 0000000000..23f6004850
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ISpecifyPropertyPages.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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;
+
+public class ISpecifyPropertyPages extends IUnknown {
+
+public ISpecifyPropertyPages(int /*long*/ 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
new file mode 100644
index 0000000000..e2b85322bb
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStorage.java
@@ -0,0 +1,149 @@
+/*******************************************************************************
+ * 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;
+
+public class IStorage extends IUnknown
+{
+public IStorage(int /*long*/ 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 /*long*/ 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 /*long*/[] 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 /*long*/[] 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 /*long*/ reserved2, //Reserved; must be NULL
+ int reserved3, //Reserved; must be zero
+ int /*long*/[] 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 /*long*/ 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 /*long*/[] 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 /*long*/ reserved1, //Reserved; must be NULL
+ int grfMode, //Access mode for the new stream
+ int reserved2, //Reserved; must be zero
+ int /*long*/[] 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
new file mode 100644
index 0000000000..cf9ebe66a2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStream.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * 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;
+
+public class IStream extends IUnknown {
+public IStream(int /*long*/ address) {
+ super(address);
+}
+public int Clone(
+ int /*long*/[] 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 /*long*/ 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 /*long*/ 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
new file mode 100644
index 0000000000..22d2e33f3a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ITypeInfo.java
@@ -0,0 +1,160 @@
+/*******************************************************************************
+ * 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.OS;
+
+public class ITypeInfo extends IUnknown
+{
+
+public ITypeInfo(int /*long*/ address) {
+ super(address);
+}
+public int GetDocumentation(int index, String[] name, String[] docString, int[] pdwHelpContext, String[] helpFile ) {
+ int /*long*/[] pBstrName = null;
+ if (name != null) pBstrName = new int /*long*/[1];
+ int /*long*/[] pBstrDocString = null;
+ if (docString != null) pBstrDocString = new int /*long*/[1];
+ int /*long*/[] pBstrHelpFile = null;
+ if (helpFile != null) pBstrHelpFile = new int /*long*/[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 /*long*/[] 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 /*long*/ hHeap = OS.GetProcessHeap();
+ int /*long*/ ppNames = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, size * OS.PTR_SIZEOF);
+ int /*long*/[] memTracker = new int /*long*/[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 /*long*/ 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 + OS.PTR_SIZEOF * i, new int /*long*/[]{pName}, OS.PTR_SIZEOF);
+ // 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 /*long*/[] rgBstrNames = new int /*long*/[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 /*long*/[] 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 /*long*/[] ppTypeAttr) {
+ return COM.VtblCall(3, address, ppTypeAttr);
+}
+public int GetVarDesc(int index, int /*long*/[] ppVarDesc ) {
+ return COM.VtblCall(6, address, index, ppVarDesc);
+}
+public int ReleaseFuncDesc(int /*long*/ pFuncDesc ) {
+ return COM.VtblCall(20, address, pFuncDesc);
+}
+public int ReleaseTypeAttr(int /*long*/ pTypeAttr) {
+ return COM.VtblCall(19, address, pTypeAttr);
+}
+public int ReleaseVarDesc(int /*long*/ 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
new file mode 100644
index 0000000000..1327dd8b4a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IUnknown.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * 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;
+
+public class IUnknown
+{
+ int /*long*/ address;
+public IUnknown(int /*long*/ address) {
+ this.address = address;
+}
+public int AddRef() {
+ return COM.VtblCall(1, address);
+}
+public int /*long*/ getAddress() {
+ return address;
+}
+public int QueryInterface(GUID riid, int /*long*/[] 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
new file mode 100644
index 0000000000..39438bf560
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IViewObject2.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * 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 IViewObject2 extends IUnknown
+{
+public IViewObject2(int /*long*/ 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 /*long*/ 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
new file mode 100644
index 0000000000..b9276fc108
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/LICINFO.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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;
+
+public final class LICINFO {
+ public int cbLicInfo;
+ public boolean fRuntimeKeyAvail;
+ public boolean fLicVerified;
+ public static final int sizeof = COM.LICINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..20d5d2fad2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMD.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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;
+
+public class OLECMD {
+ public int cmdID;
+ public int cmdf;
+ public static final int sizeof = COM.OLECMD_sizeof ();
+}
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
new file mode 100644
index 0000000000..5370d48922
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMDTEXT.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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.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
new file mode 100644
index 0000000000..0b2a9cfb85
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLEINPLACEFRAMEINFO.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public final class OLEINPLACEFRAMEINFO {
+ public int cb;
+ public int fMDIApp;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndFrame;
+ /** @field cast=(HACCEL) */
+ public int /*long*/ haccel;
+ public int cAccelEntries;
+ public static final int sizeof = COM.OLEINPLACEFRAMEINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..6a0d0ec9df
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STATSTG.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public class STATSTG {
+ /** @field cast=(LPWSTR) */
+ public int /*long*/ pwcsName;
+ public int type;
+ /** @field accessor=cbSize.QuadPart */
+ public long cbSize;
+// FILETIME mtime;
+ /** @field accessor=mtime.dwLowDateTime */
+ public int mtime_dwLowDateTime;
+ /** @field accessor=mtime.dwHighDateTime */
+ public int mtime_dwHighDateTime;
+// FILETIME ctime;
+ /** @field accessor=ctime.dwLowDateTime */
+ public int ctime_dwLowDateTime;
+ /** @field accessor=ctime.dwHighDateTime */
+ public int ctime_dwHighDateTime;
+// FILETIME atime;
+ /** @field accessor=atime.dwLowDateTime */
+ public int atime_dwLowDateTime;
+ /** @field accessor=atime.dwHighDateTime */
+ public int atime_dwHighDateTime;
+ public int grfMode;
+ public int grfLocksSupported;
+// GUID clsid;
+ /** @field accessor=clsid.Data1 */
+ public int clsid_Data1;
+ /** @field accessor=clsid.Data2 */
+ public short clsid_Data2;
+ /** @field accessor=clsid.Data3 */
+ public short clsid_Data3;
+ /** @field accessor=clsid.Data4 */
+ public byte[] clsid_Data4 = new byte[8];
+ public int grfStateBits;
+ public int reserved;
+ public static final int sizeof = COM.STATSTG_sizeof ();
+}
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
new file mode 100644
index 0000000000..d5ad8a60ad
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STGMEDIUM.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public final class STGMEDIUM {
+ public int tymed;
+ /** @field accessor=hGlobal,cast=(HGLOBAL) */
+ public int /*long*/ unionField;
+ /** @field cast=(IUnknown *) */
+ public int /*long*/ pUnkForRelease;
+ public static final int sizeof = COM.STGMEDIUM_sizeof ();
+}
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
new file mode 100644
index 0000000000..4025c05cd3
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/TYPEATTR.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public final class TYPEATTR {
+// GUID guid
+ /** @field accessor=guid.Data1 */
+ public int guid_Data1;
+ /** @field accessor=guid.Data2 */
+ public short guid_Data2;
+ /** @field accessor=guid.Data3 */
+ public short guid_Data3;
+ /** @field accessor=guid.Data4 */
+ public byte[] guid_Data4 = new byte[8];
+ public int lcid;
+ public int dwReserved;
+ public int memidConstructor;
+ public int memidDestructor;
+ /** @field cast=(OLECHAR FAR *) */
+ public int /*long*/ 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
+ /** @field accessor=tdescAlias.lptdesc,cast=(struct FARSTRUCT tagTYPEDESC FAR *) */
+ public int /*long*/ tdescAlias_unionField;
+ /** @field accessor=tdescAlias.vt */
+ public short tdescAlias_vt;
+// IDLDESC idldesctype
+ /** @field accessor=idldescType.dwReserved */
+ public int idldescType_dwReserved;
+ /** @field accessor=idldescType.wIDLFlags */
+ public short idldescType_wIDLFlags;
+ public static final int sizeof = COM.TYPEATTR_sizeof ();
+}
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
new file mode 100644
index 0000000000..ef6d267393
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARDESC.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public class VARDESC {
+ public int memid;
+ /** @field cast=(OLECHAR FAR *) */
+ public int /*long*/ lpstrSchema;
+ public int oInst;
+// ELEMDESC elemdescVar
+// TYPEDESC elemdescVar.tdesc
+ /** @field accessor=elemdescVar.tdesc.lptdesc,cast=(struct FARSTRUCT tagTYPEDESC FAR *) */
+ public int /*long*/ elemdescVar_tdesc_union;
+ /** @field accessor=elemdescVar.tdesc.vt */
+ public short elemdescVar_tdesc_vt;
+// PARAMDESC elemdescFunc.paramdesc
+ /** @field accessor=elemdescVar.paramdesc.pparamdescex,cast=(LPPARAMDESCEX) */
+ public int /*long*/ elemdescVar_paramdesc_pparamdescex;
+ /** @field accessor=elemdescVar.paramdesc.wParamFlags */
+ public short elemdescVar_paramdesc_wParamFlags;
+ public short wVarFlags;
+ public int varkind;
+ public static final int sizeof = COM.VARDESC_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARIANT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARIANT.java
new file mode 100644
index 0000000000..04f621a32f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARIANT.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public class VARIANT {
+ public short vt;
+ public short wReserved1;
+ public short wReserved2;
+ public short wReserved3;
+ public int lVal;
+ public static final int sizeof = COM.VARIANT_sizeof();
+}
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
new file mode 100644
index 0000000000..f3116a3f14
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/package.html
@@ -0,0 +1,21 @@
+<!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
new file mode 100644
index 0000000000..cabaf8419e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACCEL.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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 ACCEL {
+ public byte fVirt;
+ public short key;
+ public short cmd;
+ public static final int sizeof = OS.ACCEL_sizeof ();
+}
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
new file mode 100644
index 0000000000..6b397a9d98
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACTCTX.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class ACTCTX {
+ public int cbSize;
+ public int dwFlags;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpSource;
+ public short wProcessorArchitecture;
+ public short wLangId;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpAssemblyDirectory;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpResourceName;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpApplicationName;
+ /** @field cast=(HMODULE) */
+ public int /*long*/ hModule;
+ public static final int sizeof = OS.ACTCTX_sizeof ();
+}
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
new file mode 100644
index 0000000000..0e32595216
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAP.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class BITMAP {
+ public int bmType;
+ public int bmWidth;
+ public int bmHeight;
+ public int bmWidthBytes;
+ public short bmPlanes;
+ public short bmBitsPixel;
+ /** @field cast=(LPVOID) */
+ public int /*long*/ bmBits;
+ public static final int sizeof = OS.BITMAP_sizeof ();
+}
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
new file mode 100644
index 0000000000..18302da6b2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAPINFOHEADER.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * 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 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 = OS.BITMAPINFOHEADER_sizeof ();
+}
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
new file mode 100644
index 0000000000..18615d5724
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BLENDFUNCTION.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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 BLENDFUNCTION {
+ public byte BlendOp;
+ public byte BlendFlags;
+ public byte SourceConstantAlpha;
+ public byte AlphaFormat;
+ public static final int sizeof = OS.BLENDFUNCTION_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BP_PAINTPARAMS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BP_PAINTPARAMS.java
new file mode 100644
index 0000000000..4c1f11814e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BP_PAINTPARAMS.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class BP_PAINTPARAMS {
+ public int cbSize;
+ public int dwFlags;
+ /** @field cast=(RECT*) */
+ public int /*long*/ prcExclude;
+ /** @field cast=(BLENDFUNCTION*) */
+ public int /*long*/ pBlendFunction;
+ public static final int sizeof = OS.BP_PAINTPARAMS_sizeof ();
+}
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
new file mode 100644
index 0000000000..a70f8527f0
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BROWSEINFO.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class BROWSEINFO {
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndOwner;
+ /** @field cast=(LPCITEMIDLIST) */
+ public int /*long*/ pidlRoot;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszDisplayName;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpszTitle;
+ public int ulFlags;
+ /** @field cast=(BFFCALLBACK) */
+ public int /*long*/ lpfn;
+ public int /*long*/ lParam;
+ public int iImage;
+ public static final int sizeof = OS.BROWSEINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..da876cf863
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BUTTON_IMAGELIST.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class BUTTON_IMAGELIST {
+ /** @field cast=(HIMAGELIST) */
+ public int /*long*/ himl;
+ /** @field accessor=margin.left,cast=(LONG) */
+ public int margin_left;
+ /** @field accessor=margin.top,cast=(LONG) */
+ public int margin_top;
+ /** @field accessor=margin.right,cast=(LONG) */
+ public int margin_right;
+ /** @field accessor=margin.bottom,cast=(LONG) */
+ public int margin_bottom;
+ /** @field cast=(UINT) */
+ public int uAlign;
+ public static final int sizeof = OS.BUTTON_IMAGELIST_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CANDIDATEFORM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CANDIDATEFORM.java
new file mode 100644
index 0000000000..ee3c6dc9db
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CANDIDATEFORM.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class CANDIDATEFORM {
+ public int dwIndex;
+ public int dwStyle;
+ public POINT ptCurrentPos = new POINT();
+ public RECT rcArea = new RECT();
+ public static final int sizeof = OS.CANDIDATEFORM_sizeof ();
+}
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
new file mode 100644
index 0000000000..b378f44726
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSECOLOR.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class CHOOSECOLOR {
+ public int lStructSize;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndOwner;
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hInstance;
+ public int rgbResult;
+ /** @field cast=(COLORREF *) */
+ public int /*long*/ lpCustColors;
+ public int Flags;
+ public int /*long*/ lCustData;
+ /** @field cast=(LPCCHOOKPROC) */
+ public int /*long*/ lpfnHook;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpTemplateName;
+ public static final int sizeof = OS.CHOOSECOLOR_sizeof ();
+}
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
new file mode 100644
index 0000000000..e8e1e8f944
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSEFONT.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class CHOOSEFONT {
+ public int lStructSize;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndOwner;
+ /** @field cast=(HDC) */
+ public int /*long*/ hDC;
+ /** @field cast=(LPLOGFONT) */
+ public int /*long*/ lpLogFont;
+ public int iPointSize;
+ public int Flags;
+ public int rgbColors;
+ public int /*long*/ lCustData;
+ /** @field cast=(LPCFHOOKPROC) */
+ public int /*long*/ lpfnHook;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpTemplateName;
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hInstance;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpszStyle;
+ public short nFontType;
+ public int nSizeMin;
+ public int nSizeMax;
+ public static final int sizeof = OS.CHOOSEFONT_sizeof ();
+}
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
new file mode 100644
index 0000000000..f57ed8097a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMBOBOXINFO.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class COMBOBOXINFO {
+ public int cbSize;
+ /** @field accessor=rcItem.left */
+ public int itemLeft;
+ /** @field accessor=rcItem.top */
+ public int itemTop;
+ /** @field accessor=rcItem.right */
+ public int itemRight;
+ /** @field accessor=rcItem.bottom */
+ public int itemBottom;
+ /** @field accessor=rcButton.left */
+ public int buttonLeft;
+ /** @field accessor=rcButton.top */
+ public int buttonTop;
+ /** @field accessor=rcButton.right */
+ public int buttonRight;
+ /** @field accessor=rcButton.bottom */
+ public int buttonBottom;
+ public int stateButton;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndCombo;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndItem;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndList;
+ public static final int sizeof = OS.COMBOBOXINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..c8370331eb
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMPOSITIONFORM.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class COMPOSITIONFORM {
+ public int dwStyle;
+// POINT ptCurrentPos;
+ /** @field accessor=ptCurrentPos.x */
+ public int x;
+ /** @field accessor=ptCurrentPos.y */
+ public int y;
+// RECT rcArea;
+ /** @field accessor=rcArea.left */
+ public int left;
+ /** @field accessor=rcArea.top */
+ public int top;
+ /** @field accessor=rcArea.right */
+ public int right;
+ /** @field accessor=rcArea.bottom */
+ public int bottom;
+ public static final int sizeof = OS.COMPOSITIONFORM_sizeof ();
+}
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
new file mode 100644
index 0000000000..3070d5b662
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CREATESTRUCT.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class CREATESTRUCT {
+ /** @field cast=(LPVOID) */
+ public int /*long*/ lpCreateParams;
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hInstance;
+ /** @field cast=(HMENU) */
+ public int /*long*/ hMenu;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndParent;
+ public int cy;
+ public int cx;
+ public int y;
+ public int x;
+ public int style;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpszName;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpszClass;
+ public int dwExStyle;
+ public static final int sizeof = OS.CREATESTRUCT_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODE.java
new file mode 100644
index 0000000000..435857253e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODE.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, 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 DEVMODE {
+ public short dmSpecVersion;
+ public short dmDriverVersion;
+ public short dmSize;
+ public short dmDriverExtra;
+ public int dmFields;
+ public short dmOrientation;
+ public short dmPaperSize;
+ public short dmPaperLength;
+ public short dmPaperWidth;
+ public short dmScale;
+ public short dmCopies;
+ public short dmDefaultSource;
+ public short dmPrintQuality;
+ public short dmColor;
+ public short dmDuplex;
+ public short dmYResolution;
+ public short dmTTOption;
+ public short dmCollate;
+ public short dmLogPixels;
+ public int dmBitsPerPel;
+ public int dmPelsWidth;
+ public int dmPelsHeight;
+ public int dmNup;
+ public int dmDisplayFrequency;
+ public int dmICMMethod;
+ public int dmICMIntent;
+ public int dmMediaType;
+ public int dmDitherType;
+ public int dmReserved1;
+ public int dmReserved2;
+ public int dmPanningWidth;
+ public int dmPanningHeight;
+ public static final int sizeof = OS.IsUnicode ? OS.DEVMODEW_sizeof () : OS.DEVMODEA_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODEA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODEA.java
new file mode 100644
index 0000000000..d2cbf88dc0
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODEA.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, 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 DEVMODEA extends DEVMODE {
+ public byte[] dmDeviceName = new byte[OS.CCHDEVICENAME];
+ public byte[] dmFormName = new byte[OS.CCHFORMNAME];
+ public static final int sizeof = OS.DEVMODEA_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODEW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODEW.java
new file mode 100644
index 0000000000..3d26ea995a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DEVMODEW.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, 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 DEVMODEW extends DEVMODE {
+ public char[] dmDeviceName = new char[OS.CCHDEVICENAME];
+ public char[] dmFormName = new char[OS.CCHFORMNAME];
+ public static final int sizeof = OS.DEVMODEW_sizeof ();
+}
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
new file mode 100644
index 0000000000..f6071ec3d6
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DIBSECTION.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class DIBSECTION extends BITMAP {
+ /** @field accessor=dsBmih.biSize */
+ public int biSize;
+ /** @field accessor=dsBmih.biWidth */
+ public int biWidth;
+ /** @field accessor=dsBmih.biHeight */
+ public int biHeight;
+ /** @field accessor=dsBmih.biPlanes */
+ public short biPlanes;
+ /** @field accessor=dsBmih.biBitCount */
+ public short biBitCount;
+ /** @field accessor=dsBmih.biCompression */
+ public int biCompression;
+ /** @field accessor=dsBmih.biSizeImage */
+ public int biSizeImage;
+ /** @field accessor=dsBmih.biXPelsPerMeter */
+ public int biXPelsPerMeter;
+ /** @field accessor=dsBmih.biYPelsPerMeter */
+ public int biYPelsPerMeter;
+ /** @field accessor=dsBmih.biClrUsed */
+ public int biClrUsed;
+ /** @field accessor=dsBmih.biClrImportant */
+ public int biClrImportant;
+ /** @field accessor=dsBitfields[0] */
+ public int dsBitfields0;
+ /** @field accessor=dsBitfields[1] */
+ public int dsBitfields1;
+ /** @field accessor=dsBitfields[2] */
+ public int dsBitfields2;
+ /** @field cast=(HANDLE) */
+ public int /*long*/ dshSection;
+ public int dsOffset;
+ public static final int sizeof = OS.DIBSECTION_sizeof ();
+}
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
new file mode 100644
index 0000000000..9ce6f9d3d2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DLLVERSIONINFO.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * 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 DLLVERSIONINFO {
+ public int cbSize;
+ public int dwMajorVersion;
+ public int dwMinorVersion;
+ public int dwBuildNumber;
+ public int dwPlatformID;
+ public static final int sizeof = OS.DLLVERSIONINFO_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCHOSTUIINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCHOSTUIINFO.java
new file mode 100644
index 0000000000..46722ddb02
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCHOSTUIINFO.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class DOCHOSTUIINFO {
+ public int cbSize;
+ public int dwFlags;
+ public int dwDoubleClick;
+ /*
+ * TODO uncomment the following two fields when 32-bit swt starts
+ * compiling with a newer mssdk whose definition of DOCHOSTUIINFO
+ * includes these fields.
+ */
+// public int /*long*/ pchHostCss;
+// public int /*long*/ pchHostNS;
+ public static final int sizeof = OS.DOCHOSTUIINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..fb17f6cdb2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCINFO.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class DOCINFO {
+ public int cbSize;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpszDocName; // LPCTSTR
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpszOutput; // LPCTSTR
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpszDatatype;// LPCTSTR
+ public int fwType; // DWORD
+ public static final int sizeof = OS.DOCINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..c81cef7cdb
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DRAWITEMSTRUCT.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class DRAWITEMSTRUCT {
+ public int CtlType;
+ public int CtlID;
+ public int itemID;
+ public int itemAction;
+ public int itemState;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndItem;
+ /** @field cast=(HDC) */
+ public int /*long*/ hDC;
+// RECT rcItem;
+ /** @field accessor=rcItem.left */
+ public int left;
+ /** @field accessor=rcItem.top */
+ public int top;
+ /** @field accessor=rcItem.bottom */
+ public int bottom;
+ /** @field accessor=rcItem.right */
+ public int right;
+ public int /*long*/ itemData;
+ public static final int sizeof = OS.DRAWITEMSTRUCT_sizeof ();
+}
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
new file mode 100644
index 0000000000..437d4a083a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DROPFILES.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.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.
+ /** @field accessor=pt.x */
+ public int pt_x;
+ /** @field accessor=pt.y */
+ 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 = OS.DROPFILES_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DWM_BLURBEHIND.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DWM_BLURBEHIND.java
new file mode 100644
index 0000000000..3c4b181446
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DWM_BLURBEHIND.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class DWM_BLURBEHIND {
+ public int dwFlags;
+ public boolean fEnable;
+ /** @field cast=(HRGN) */
+ public int /*long*/ hRgnBlur;
+ public boolean fTransitionOnMaximized;
+ public static final int sizeof = OS.DWM_BLURBEHIND_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EMR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EMR.java
new file mode 100644
index 0000000000..0483a88266
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EMR.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class EMR {
+ public int iType;
+ public int nSize;
+ public static final int sizeof = OS.EMR_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EMREXTCREATEFONTINDIRECTW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EMREXTCREATEFONTINDIRECTW.java
new file mode 100644
index 0000000000..d3400dc555
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EMREXTCREATEFONTINDIRECTW.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class EMREXTCREATEFONTINDIRECTW {
+ public EMR emr = new EMR();
+ public int ihFont;
+ public EXTLOGFONTW elfw = new EXTLOGFONTW();
+ public static final int sizeof = OS.EMREXTCREATEFONTINDIRECTW_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGFONTW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGFONTW.java
new file mode 100644
index 0000000000..d7f14df763
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGFONTW.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class EXTLOGFONTW {
+ public LOGFONTW elfLogFont = new LOGFONTW();
+ public char[] elfFullName = new char[OS.LF_FULLFACESIZE];
+ public char[] elfStyle = new char[OS.LF_FACESIZE];
+ public int elfVersion;
+ public int elfStyleSize;
+ public int elfMatch;
+ public int elfReserved;
+ public byte[] elfVendorId = new byte[OS.ELF_VENDOR_SIZE];
+ public int elfCulture;
+ public PANOSE elfPanose = new PANOSE();
+ public static final int sizeof = OS.EXTLOGFONTW_sizeof ();
+}
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
new file mode 100644
index 0000000000..d82807029f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGPEN.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * 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 EXTLOGPEN {
+ public int elpPenStyle;
+ public int elpWidth;
+ public int elpBrushStyle;
+ public int elpColor;
+ public int /*long*/ elpHatch;
+ public int elpNumEntries;
+ public int[] elpStyleEntry = new int[1];
+ public static final int sizeof = OS.EXTLOGPEN_sizeof ();
+}
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
new file mode 100644
index 0000000000..91d5a6f66d
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FILETIME.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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 FILETIME {
+ public int dwLowDateTime;
+ public int dwHighDateTime;
+ static final public int sizeof = OS.FILETIME_sizeof ();
+}
+
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
new file mode 100644
index 0000000000..062e5930da
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GCP_RESULTS.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class GCP_RESULTS {
+ public int lStructSize;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpOutString;
+ /** @field cast=(UINT *) */
+ public int /*long*/ lpOrder;
+ /** @field cast=(int *) */
+ public int /*long*/ lpDx;
+ /** @field cast=(int *) */
+ public int /*long*/ lpCaretPos;
+ /** @field cast=(LPSTR) */
+ public int /*long*/ lpClass;
+ /** @field cast=(LPWSTR) */
+ public int /*long*/ lpGlyphs;
+ public int nGlyphs;
+ public int nMaxFit;
+ public static final int sizeof = OS.GCP_RESULTS_sizeof ();
+}
+
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
new file mode 100644
index 0000000000..bcc8e073e8
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GRADIENT_RECT.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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 GRADIENT_RECT {
+ public int UpperLeft;
+ public int LowerRight;
+ public static final int sizeof = OS.GRADIENT_RECT_sizeof ();
+}
+
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
new file mode 100644
index 0000000000..6ca9b47aba
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GUITHREADINFO.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class GUITHREADINFO {
+ /** @field cast=(DWORD) */
+ public int cbSize;
+ /** @field cast=(DWORD) */
+ public int flags;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndActive;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndFocus;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndCapture;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndMenuOwner;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndMoveSize;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndCaret;
+// RECT rcCaret;
+ /** @field accessor=rcCaret.left */
+ public int left;
+ /** @field accessor=rcCaret.top */
+ public int top;
+ /** @field accessor=rcCaret.right */
+ public int right;
+ /** @field accessor=rcCaret.bottom */
+ public int bottom;
+ public static int sizeof = OS.GUITHREADINFO_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDHITTESTINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDHITTESTINFO.java
new file mode 100644
index 0000000000..87b064c5e5
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDHITTESTINFO.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class HDHITTESTINFO {
+// POINT pt;
+ /** @field accessor=pt.x */
+ public int x;
+ /** @field accessor=pt.y */
+ public int y;
+ public int flags;
+ public int iItem;
+ public static int sizeof = OS.HDHITTESTINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..e1acd46381
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDITEM.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class HDITEM {
+ public int mask;
+ public int cxy;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ /** @field cast=(HBITMAP) */
+ public int /*long*/ hbm;
+ public int cchTextMax;
+ public int fmt;
+ public int /*long*/ lParam;
+ public int iImage;
+ public int iOrder;
+ /** @field flags=no_wince */
+ public int type;
+ /** @field cast=(void *),flags=no_wince */
+ public int /*long*/ pvFilter;
+ public static int sizeof = OS.HDITEM_sizeof ();
+}
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
new file mode 100644
index 0000000000..f5bc27e545
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class HDLAYOUT {
+ /** @field cast=(RECT *) */
+ public int /*long*/ prc;
+ /** @field cast=(WINDOWPOS *) */
+ public int /*long*/ pwpos;
+ public static final int sizeof = OS.HDLAYOUT_sizeof ();
+}
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
new file mode 100644
index 0000000000..8e81319243
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HELPINFO.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class HELPINFO {
+ public int cbSize;
+ public int iContextType;
+ public int iCtrlId;
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hItemHandle;
+ public int dwContextId;
+// POINT MousePos
+ /** @field accessor=MousePos.x */
+ public int x;
+ /** @field accessor=MousePos.y */
+ public int y;
+ public static final int sizeof = OS.HELPINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..68e35eedc6
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HIGHCONTRAST.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class HIGHCONTRAST {
+ public int cbSize;
+ public int dwFlags;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpszDefaultScheme;
+ public static final int sizeof = OS.HIGHCONTRAST_sizeof ();
+}
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
new file mode 100644
index 0000000000..f5d79ee186
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ICONINFO.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class ICONINFO {
+ public boolean fIcon;
+ public int xHotspot;
+ public int yHotspot;
+ /** @field cast=(HBITMAP) */
+ public int /*long*/ hbmMask;
+ /** @field cast=(HBITMAP) */
+ public int /*long*/ hbmColor;
+ public static final int sizeof = OS.ICONINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..e161e1d968
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INITCOMMONCONTROLSEX.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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 INITCOMMONCONTROLSEX {
+ public int dwSize;
+ public int dwICC;
+ public static final int sizeof = OS.INITCOMMONCONTROLSEX_sizeof ();
+}
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
new file mode 100644
index 0000000000..7f24bbb92d
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INPUT.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 INPUT {
+ public int type;
+ public static final int sizeof = OS.INPUT_sizeof ();
+}
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
new file mode 100644
index 0000000000..96da126a10
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/KEYBDINPUT.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * 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 KEYBDINPUT {
+ public short wVk;
+ public short wScan;
+ public int dwFlags;
+ public int time;
+ public int /*long*/ dwExtraInfo;
+ public static final int sizeof = OS.KEYBDINPUT_sizeof ();
+}
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
new file mode 100644
index 0000000000..0d04671072
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LITEM.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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 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 = OS.LITEM_sizeof ();
+}
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
new file mode 100644
index 0000000000..75fe2fbf4a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGBRUSH.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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 LOGBRUSH {
+ public int lbStyle;
+ public int lbColor;
+ public int /*long*/ lbHatch;
+ public static final int sizeof = OS.LOGBRUSH_sizeof ();
+}
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
new file mode 100644
index 0000000000..36e1540269
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONT.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * 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 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 ? OS.LOGFONTW_sizeof () : OS.LOGFONTA_sizeof ();
+}
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
new file mode 100644
index 0000000000..1ea02d903b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTA.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 LOGFONTA extends LOGFONT {
+ public byte[] lfFaceName = new byte[OS.LF_FACESIZE];
+ public static final int sizeof = OS.LOGFONTA_sizeof ();
+}
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
new file mode 100644
index 0000000000..fb6b8356f6
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTW.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 LOGFONTW extends LOGFONT {
+ public char[] lfFaceName = new char[OS.LF_FACESIZE];
+ public static final int sizeof = OS.LOGFONTW_sizeof ();
+}
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
new file mode 100644
index 0000000000..fd93fc9ad8
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGPEN.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class LOGPEN {
+ public int lopnStyle;
+// POINT lopnWidth;
+ /** @field accessor=lopnWidth.x */
+ public int x;
+ /** @field accessor=lopnWidth.y */
+ public int y;
+ public int lopnColor;
+ public static final int sizeof = OS.LOGPEN_sizeof ();
+}
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
new file mode 100644
index 0000000000..145e85482a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LRESULT.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+/** @jniclass flags=no_gen */
+public class LRESULT {
+ public int /*long*/ value;
+ public static final LRESULT ONE = new LRESULT (1);
+ public static final LRESULT ZERO = new LRESULT (0);
+
+public LRESULT (int /*long*/ 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
new file mode 100644
index 0000000000..f4377e8d31
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVCOLUMN.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class LVCOLUMN {
+ public int mask;
+ public int fmt;
+ public int cx;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ public int cchTextMax;
+ public int iSubItem;
+ public int iImage;
+ public int iOrder;
+ public static final int sizeof = OS.LVCOLUMN_sizeof ();
+}
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
new file mode 100644
index 0000000000..cc322da743
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVHITTESTINFO.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class LVHITTESTINFO {
+// POINT pt;
+ /** @field accessor=pt.x */
+ public int x;
+ /** @field accessor=pt.y */
+ public int y;
+ public int flags;
+ public int iItem;
+ public int iSubItem;
+ public static int sizeof = OS.LVHITTESTINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..cbe92c93d9
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVITEM.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class LVITEM {
+ public int mask;
+ public int iItem;
+ public int iSubItem;
+ public int state;
+ public int stateMask;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ public int cchTextMax;
+ public int iImage;
+ public int /*long*/ lParam;
+ public int iIndent;
+ /** @field flags=no_wince */
+ public int iGroupId;
+ /** @field flags=no_wince */
+ public int cColumns;
+ /** @field cast=(PUINT),flags=no_wince */
+ public int /*long*/ puColumns;
+ public static final int sizeof = !OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1) ? OS.LVITEM_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
new file mode 100644
index 0000000000..a7e68b9fa7
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MARGINS.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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 MARGINS {
+ public int cxLeftWidth;
+ public int cxRightWidth;
+ public int cyTopHeight;
+ public int cyBottomHeight;
+ public static final int sizeof = OS.MARGINS_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MCHITTESTINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MCHITTESTINFO.java
new file mode 100644
index 0000000000..6e9f423249
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MCHITTESTINFO.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class MCHITTESTINFO {
+ public int cbSize;
+ public POINT pt = new POINT ();
+ public int uHit;
+ public SYSTEMTIME st = new SYSTEMTIME ();
+// public RECT rc = new RECT ();
+// public int iOffset;
+// public int iRow;
+// public int iCol;
+ public static final int sizeof = OS.MCHITTESTINFO_sizeof ();
+} \ No newline at end of file
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
new file mode 100644
index 0000000000..aab804a9d4
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MEASUREITEMSTRUCT.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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 MEASUREITEMSTRUCT {
+ public int CtlType;
+ public int CtlID;
+ public int itemID;
+ public int itemWidth;
+ public int itemHeight;
+ public int /*long*/ itemData;
+ public static final int sizeof = OS.MEASUREITEMSTRUCT_sizeof ();
+}
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
new file mode 100644
index 0000000000..e705010c71
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUBARINFO.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class MENUBARINFO {
+ public int cbSize;
+// RECT rcBar;
+ /** @field accessor=rcBar.left */
+ public int left;
+ /** @field accessor=rcBar.top */
+ public int top;
+ /** @field accessor=rcBar.right */
+ public int right;
+ /** @field accessor=rcBar.bottom */
+ public int bottom;
+ /** @field cast=(HMENU) */
+ public int /*long*/ hMenu;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndMenu;
+ public boolean fBarFocused;
+ public boolean fFocused;
+ public static final int sizeof = OS.MENUBARINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..bd4de15810
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUINFO.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class MENUINFO {
+ public int cbSize;
+ public int fMask;
+ public int dwStyle;
+ public int cyMax;
+ /** @field cast=(HBRUSH) */
+ public int /*long*/ hbrBack;
+ public int dwContextHelpID;
+ public int /*long*/ dwMenuData;
+ public static final int sizeof = OS.MENUINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..8158102915
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUITEMINFO.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class MENUITEMINFO {
+ public int cbSize;
+ public int fMask;
+ public int fType;
+ public int fState;
+ public int wID;
+ /** @field cast=(HMENU) */
+ public int /*long*/ hSubMenu;
+ /** @field cast=(HBITMAP) */
+ public int /*long*/ hbmpChecked;
+ /** @field cast=(HBITMAP) */
+ public int /*long*/ hbmpUnchecked;
+ public int /*long*/ dwItemData;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ dwTypeData;
+ public int cch;
+ /** @field cast=(HBITMAP),flags=no_wince */
+ public int /*long*/ hbmpItem;
+ /*
+ * 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.
+ */
+ public static final int sizeof = !OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 0) ? OS.MENUITEMINFO_sizeof () : 44;
+}
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
new file mode 100644
index 0000000000..d98d560d29
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MINMAXINFO.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class MINMAXINFO {
+// POINT ptReserved;
+ /** @field accessor=ptReserved.x */
+ public int ptReserved_x;
+ /** @field accessor=ptReserved.y */
+ public int ptReserved_y;
+// POINT ptMaxSize;
+ /** @field accessor=ptMaxSize.x */
+ public int ptMaxSize_x;
+ /** @field accessor=ptMaxSize.y */
+ public int ptMaxSize_y;
+// POINT ptMaxPosition;
+ /** @field accessor=ptMaxPosition.x */
+ public int ptMaxPosition_x;
+ /** @field accessor=ptMaxPosition.y */
+ public int ptMaxPosition_y;
+// POINT ptMinTrackSize;
+ /** @field accessor=ptMinTrackSize.x */
+ public int ptMinTrackSize_x;
+ /** @field accessor=ptMinTrackSize.y */
+ public int ptMinTrackSize_y;
+// POINT ptMaxTrackSize;
+ /** @field accessor=ptMaxTrackSize.x */
+ public int ptMaxTrackSize_x;
+ /** @field accessor=ptMaxTrackSize.y */
+ public int ptMaxTrackSize_y;
+ public static final int sizeof = OS.MINMAXINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..60a3648be3
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MONITORINFO.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class MONITORINFO {
+ public int cbSize;
+// RECT rcMonitor;
+ /** @field accessor=rcMonitor.left */
+ public int rcMonitor_left;
+ /** @field accessor=rcMonitor.top */
+ public int rcMonitor_top;
+ /** @field accessor=rcMonitor.right */
+ public int rcMonitor_right;
+ /** @field accessor=rcMonitor.bottom */
+ public int rcMonitor_bottom;
+// RECT rcWork;
+ /** @field accessor=rcWork.left */
+ public int rcWork_left;
+ /** @field accessor=rcWork.top */
+ public int rcWork_top;
+ /** @field accessor=rcWork.right */
+ public int rcWork_right;
+ /** @field accessor=rcWork.bottom */
+ public int rcWork_bottom;
+ public int dwFlags;
+ public static final int sizeof = OS.MONITORINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..7060e56929
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MOUSEINPUT.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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 MOUSEINPUT {
+ public int dx;
+ public int dy;
+ public int mouseData;
+ public int dwFlags;
+ public int time;
+ public int /*long*/ dwExtraInfo;
+ public static final int sizeof = OS.MOUSEINPUT_sizeof ();
+}
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
new file mode 100644
index 0000000000..0349b680e0
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MSG.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class MSG {
+ /** @field cast=(HWND) */
+ public int /*long*/ hwnd;
+ public int message;
+ public int /*long*/ wParam;
+ public int /*long*/ lParam;
+ public int time;
+// POINT pt;
+ /** @field accessor=pt.x */
+ public int x;
+ /** @field accessor=pt.y */
+ public int y;
+ public static final int sizeof = OS.MSG_sizeof ();
+}
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
new file mode 100644
index 0000000000..c6b6cd6b32
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMCUSTOMDRAW.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMCUSTOMDRAW extends NMHDR {
+ public int dwDrawStage;
+ /** @field cast=(HDC) */
+ public int /*long*/ hdc;
+// RECT rc;
+ /** @field accessor=rc.left */
+ public int left;
+ /** @field accessor=rc.top */
+ public int top;
+ /** @field accessor=rc.right */
+ public int right;
+ /** @field accessor=rc.bottom */
+ public int bottom;
+ public int /*long*/ dwItemSpec;
+ public int uItemState;
+ public int /*long*/ lItemlParam;
+ public static final int sizeof = OS.NMCUSTOMDRAW_sizeof ();
+}
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
new file mode 100644
index 0000000000..aa11e2d46f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHDR.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMHDR {
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndFrom;
+ public int /*long*/ idFrom;
+ public int code;
+ public static final int sizeof = OS.NMHDR_sizeof ();
+}
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
new file mode 100644
index 0000000000..e37435deba
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHEADER.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMHEADER extends NMHDR {
+ public int iItem;
+ public int iButton;
+ /** @field cast=(HDITEM FAR *) */
+ public int /*long*/ pitem;
+ public static int sizeof = OS.NMHEADER_sizeof ();
+}
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
new file mode 100644
index 0000000000..2c17ac2d8e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLINK.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMLINK extends NMHDR {
+// LITEM item;
+ /** @field accessor=item.mask */
+ public int mask;
+ /** @field accessor=item.iLink */
+ public int iLink;
+ /** @field accessor=item.state */
+ public int state;
+ /** @field accessor=item.stateMask */
+ public int stateMask;
+ /** @field accessor=item.szID */
+ public char[] szID = new char[OS.MAX_LINKID_TEXT];
+ /** @field accessor=item.szUrl */
+ public char[] szUrl = new char[OS.L_MAX_URL_LENGTH];
+ public static final int sizeof = OS.NMLINK_sizeof ();
+}
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
new file mode 100644
index 0000000000..c49937f77d
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLISTVIEW.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMLISTVIEW extends NMHDR {
+ public int iItem;
+ public int iSubItem;
+ public int uNewState;
+ public int uOldState;
+ public int uChanged;
+// POINT ptAction;
+ /** @field accessor=ptAction.x */
+ public int x;
+ /** @field accessor=ptAction.y */
+ public int y;
+ public int /*long*/ lParam;
+ public static int sizeof = OS.NMLISTVIEW_sizeof ();
+}
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
new file mode 100644
index 0000000000..cfbf1beee1
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVCUSTOMDRAW.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMLVCUSTOMDRAW extends NMCUSTOMDRAW {
+ public int clrText;
+ public int clrTextBk;
+ public int iSubItem;
+ /** @field flags=no_wince */
+ public int dwItemType;
+ /** @field flags=no_wince */
+ public int clrFace;
+ /** @field flags=no_wince */
+ public int iIconEffect;
+ /** @field flags=no_wince */
+ public int iIconPhase;
+ /** @field flags=no_wince */
+ public int iPartId;
+ /** @field flags=no_wince */
+ public int iStateId;
+// RECT rcText;
+ /** @field accessor=rcText.left,flags=no_wince */
+ public int rcText_left;
+ /** @field accessor=rcText.top,flags=no_wince */
+ public int rcText_top;
+ /** @field accessor=rcText.right,flags=no_wince */
+ public int rcText_right;
+ /** @field accessor=rcText.bottom,flags=no_wince */
+ public int rcText_bottom;
+ /** @field flags=no_wince */
+ public int uAlign;
+ public static final int sizeof = !OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1) ? OS.NMLVCUSTOMDRAW_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
new file mode 100644
index 0000000000..c4beef56e8
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVDISPINFO.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMLVDISPINFO extends NMHDR {
+// LVITEM item;
+ /** @field accessor=item.mask */
+ public int mask;
+ /** @field accessor=item.iItem */
+ public int iItem;
+ /** @field accessor=item.iSubItem */
+ public int iSubItem;
+ /** @field accessor=item.state */
+ public int state;
+ /** @field accessor=item.stateMask */
+ public int stateMask;
+ /** @field accessor=item.pszText,cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ /** @field accessor=item.cchTextMax */
+ public int cchTextMax;
+ /** @field accessor=item.iImage */
+ public int iImage;
+ /** @field accessor=item.lParam */
+ public int /*long*/ lParam;
+ /** @field accessor=item.iIndent */
+ public int iIndent;
+ /** @field accessor=item.iGroupId,flags=no_wince */
+ public int iGroupId;
+ /** @field accessor=item.cColumns,flags=no_wince */
+ public int cColumns;
+ /** @field accessor=item.puColumns,cast=(PUINT),flags=no_wince */
+ public int /*long*/ puColumns;
+ public static final int sizeof = !OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1) ? OS.NMLVDISPINFO_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
new file mode 100644
index 0000000000..7a28986bad
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVFINDITEM.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMLVFINDITEM extends NMHDR {
+ public int iStart;
+// LVFINDINFO lvfi;
+ /** @field accessor=lvfi.flags */
+ public int flags;
+ /** @field accessor=lvfi.psz,cast=(LPCTSTR) */
+ public int /*long*/ psz;
+ /** @field accessor=lvfi.lParam */
+ public int /*long*/ lParam;
+// POINT pt;
+ /** @field accessor=lvfi.pt.x */
+ public int x;
+ /** @field accessor=lvfi.pt.y */
+ public int y;
+ /** @field accessor=lvfi.vkDirection */
+ public int vkDirection;
+ public static final int sizeof = OS.NMLVFINDITEM_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVODSTATECHANGE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVODSTATECHANGE.java
new file mode 100644
index 0000000000..e6274502dc
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVODSTATECHANGE.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMLVODSTATECHANGE extends NMHDR {
+// NMHDR hdr;
+ public int iFrom;
+ public int iTo;
+ public int uNewState;
+ public int uOldState;
+ public static final int sizeof = OS.NMLVODSTATECHANGE_sizeof ();
+}
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
new file mode 100644
index 0000000000..968869118b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHEVRON.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMREBARCHEVRON extends NMHDR {
+ public int uBand;
+ public int wID;
+ public int /*long*/ lParam;
+// RECT rc;
+ /** @field accessor=rc.left */
+ public int left;
+ /** @field accessor=rc.top */
+ public int top;
+ /** @field accessor=rc.right */
+ public int right;
+ /** @field accessor=rc.bottom */
+ public int bottom;
+ public int /*long*/ lParamNM;
+ public static int sizeof = OS.NMREBARCHEVRON_sizeof ();
+}
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
new file mode 100644
index 0000000000..2bcdc18c09
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMREBARCHILDSIZE extends NMHDR {
+ public int uBand;
+ public int wID;
+// RECT rcChild;
+ /** @field accessor=rcChild.left */
+ public int rcChild_left;
+ /** @field accessor=rcChild.top */
+ public int rcChild_top;
+ /** @field accessor=rcChild.right */
+ public int rcChild_right;
+ /** @field accessor=rcChild.bottom */
+ public int rcChild_bottom;
+// RECT rcBand;
+ /** @field accessor=rcBand.left */
+ public int rcBand_left;
+ /** @field accessor=rcBand.top */
+ public int rcBand_top;
+ /** @field accessor=rcBand.right */
+ public int rcBand_right;
+ /** @field accessor=rcBand.bottom */
+ public int rcBand_bottom;
+ public static final int sizeof = OS.NMREBARCHILDSIZE_sizeof ();
+}
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
new file mode 100644
index 0000000000..a8fd8acbf1
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMRGINFO.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMRGINFO extends NMHDR {
+// POINT ptAction;
+ /** @field accessor=ptAction.x */
+ public int x;
+ /** @field accessor=ptAction.y */
+ public int y;
+ public int dwItemSpec;
+ public static int sizeof = OS.NMRGINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..800617d205
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTBHOTITEM.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * 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 NMTBHOTITEM extends NMHDR {
+ public int idOld;
+ public int idNew;
+ public int dwFlags;
+ public static final int sizeof = OS.NMTBHOTITEM_sizeof ();
+}
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
new file mode 100644
index 0000000000..9171aff39d
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTOOLBAR.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMTOOLBAR extends NMHDR {
+ public int iItem;
+// TBBUTTON tbButton;
+ /** @field accessor=tbButton.iBitmap */
+ public int iBitmap;
+ /** @field accessor=tbButton.idCommand */
+ public int idCommand;
+ /** @field accessor=tbButton.fsState */
+ public byte fsState;
+ /** @field accessor=tbButton.fsStyle */
+ public byte fsStyle;
+ /** @field accessor=tbButton.dwData */
+ public int /*long*/ dwData;
+ /** @field accessor=tbButton.iString */
+ public int /*long*/ iString;
+ public int cchText;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszText;
+// RECT rcButton;
+ /** @field accessor=rcButton.left,flags=no_wince */
+ public int left;
+ /** @field accessor=rcButton.top,flags=no_wince */
+ public int top;
+ /** @field accessor=rcButton.right,flags=no_wince */
+ public int right;
+ /** @field accessor=rcButton.bottom,flags=no_wince */
+ public int bottom;
+ /* Note in WinCE. The field rcButton is not defined. */
+ public static final int sizeof = OS.NMTOOLBAR_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTREEVIEW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTREEVIEW.java
new file mode 100644
index 0000000000..36cae17462
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTREEVIEW.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMTREEVIEW {
+ public NMHDR hdr = new NMHDR ();
+ public int action;
+ public TVITEM itemOld = new TVITEM ();
+ public TVITEM itemNew = new TVITEM ();
+ public POINT ptDrag = new POINT ();
+ public static final int sizeof = OS.NMTREEVIEW_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTCUSTOMDRAW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTCUSTOMDRAW.java
new file mode 100644
index 0000000000..0a9dfde7b6
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTCUSTOMDRAW.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMTTCUSTOMDRAW extends NMCUSTOMDRAW {
+ public int uDrawFlags;
+ public static final int sizeof = OS.NMTTCUSTOMDRAW_sizeof ();
+} \ No newline at end of file
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
new file mode 100644
index 0000000000..7f1f6bd8f2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFO.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public abstract class NMTTDISPINFO extends NMHDR {
+ /** @field cast=(void *) */
+ public int /*long*/ lpszText;
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hinst;
+ public int uFlags;
+ public int /*long*/ lParam;
+ public static final int sizeof = OS.IsUnicode ? OS.NMTTDISPINFOW_sizeof () : OS.NMTTDISPINFOA_sizeof ();
+}
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
new file mode 100644
index 0000000000..f717a883bd
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOA.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 NMTTDISPINFOA extends NMTTDISPINFO {
+ public byte[] szText = new byte[80];
+ public static final int sizeof = OS.NMTTDISPINFOA_sizeof ();
+}
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
new file mode 100644
index 0000000000..582686c39f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOW.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 NMTTDISPINFOW extends NMTTDISPINFO {
+ public char[] szText = new char[80];
+ public static final int sizeof = OS.NMTTDISPINFOW_sizeof ();
+}
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
new file mode 100644
index 0000000000..5142240883
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVCUSTOMDRAW.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMTVCUSTOMDRAW extends NMCUSTOMDRAW {
+ public int clrText;
+ public int clrTextBk;
+ /** @field flags=no_wince */
+ public int iLevel; // the iLevel field does not appear on WinCE
+ public static final int sizeof = OS.NMTVCUSTOMDRAW_sizeof ();
+}
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
new file mode 100644
index 0000000000..08fab9a064
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMTVDISPINFO extends NMHDR {
+// TVITEM item;
+ /** @field accessor=item.mask */
+ public int mask;
+ /** @field accessor=item.hItem,cast=(HTREEITEM) */
+ public int /*long*/ hItem;
+ /** @field accessor=item.state */
+ public int state;
+ /** @field accessor=item.stateMask */
+ public int stateMask;
+ /** @field accessor=item.pszText,cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ /** @field accessor=item.cchTextMax */
+ public int cchTextMax;
+ /** @field accessor=item.iImage */
+ public int iImage;
+ /** @field accessor=item.iSelectedImage */
+ public int iSelectedImage;
+ /** @field accessor=item.cChildren */
+ public int cChildren;
+ /** @field accessor=item.lParam */
+ public int /*long*/ lParam;
+ public static final int sizeof = OS.NMTVDISPINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..701818dc29
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVITEMCHANGE.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMTVITEMCHANGE extends NMHDR {
+ public int uChanged;
+ /** @field cast=(HTREEITEM) */
+ public int /*long*/ hItem;
+ public int uStateNew;
+ public int uStateOld;
+ public int /*long*/ lParam;
+ public static int sizeof = OS.NMTVITEMCHANGE_sizeof ();
+}
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
new file mode 100644
index 0000000000..f549c3b797
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMUPDOWN.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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 NMUPDOWN extends NMHDR {
+ public int iPos;
+ public int iDelta;
+ public static final int sizeof = OS.NMUPDOWN_sizeof ();
+}
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
new file mode 100644
index 0000000000..b7dfb5209e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICS.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * 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 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 ? OS.NONCLIENTMETRICSW_sizeof () : OS.NONCLIENTMETRICSA_sizeof ();
+}
+
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
new file mode 100644
index 0000000000..5f7d80757a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSA.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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 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 = OS.NONCLIENTMETRICSA_sizeof ();
+}
+
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
new file mode 100644
index 0000000000..9bb4b97a9e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSW.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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 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 = OS.NONCLIENTMETRICSW_sizeof ();
+}
+
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
new file mode 100644
index 0000000000..7b4318622a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATA.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public abstract class NOTIFYICONDATA {
+ public int cbSize;
+ /** @field cast=(HWND) */
+ public int /*long*/ hWnd;
+ public int uID;
+ public int uFlags;
+ public int uCallbackMessage;
+ /** @field cast=(HICON) */
+ public int /*long*/ hIcon;
+ /** @field flags=no_wince */
+ public int dwState;
+ /** @field flags=no_wince */
+ public int dwStateMask;
+ /** @field flags=no_wince */
+ public int uVersion;
+ /** @field flags=no_wince */
+ 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
new file mode 100644
index 0000000000..70132f8f80
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAA.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NOTIFYICONDATAA extends NOTIFYICONDATA {
+ /** @field cast=(TCHAR) */
+ public byte szTip[] = new byte [128];
+ /** @field cast=(TCHAR),flags=no_wince */
+ public byte szInfo[] = new byte [256];
+ /** @field cast=(TCHAR),flags=no_wince */
+ 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
new file mode 100644
index 0000000000..07530a7298
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAW.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NOTIFYICONDATAW extends NOTIFYICONDATA {
+ /** @field cast=(TCHAR) */
+ public char szTip[] = new char [128];
+ /** @field cast=(TCHAR),flags=no_wince */
+ public char szInfo[] = new char [256];
+ /** @field cast=(TCHAR),flags=no_wince */
+ 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/OFNOTIFY.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OFNOTIFY.java
new file mode 100644
index 0000000000..290db321c7
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OFNOTIFY.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class OFNOTIFY extends NMHDR {
+ /** @field cast=(LPOPENFILENAME) */
+ public int /*long*/ lpOFN;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszFile;
+ public static int sizeof = OS.OFNOTIFY_sizeof ();
+}
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
new file mode 100644
index 0000000000..4c97a543da
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OPENFILENAME.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class OPENFILENAME {
+ public int lStructSize;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndOwner;
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hInstance;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpstrFilter;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpstrCustomFilter;
+ public int nMaxCustFilter;
+ public int nFilterIndex;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpstrFile;
+ public int nMaxFile;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpstrFileTitle;
+ public int nMaxFileTitle;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpstrInitialDir;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpstrTitle;
+ public int Flags;
+ public short nFileOffset;
+ public short nFileExtension;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpstrDefExt;
+ public int /*long*/ lCustData;
+ /** @field cast=(LPOFNHOOKPROC) */
+ public int /*long*/ lpfnHook;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpTemplateName;
+ /** @field cast=(void *),flags=no_wince */
+ public int /*long*/ pvReserved;
+ /** @field flags=no_wince */
+ public int dwReserved;
+ /** @field flags=no_wince */
+ public int FlagsEx;
+ public static final int sizeof = !OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 0) ? OS.OPENFILENAME_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
new file mode 100644
index 0000000000..d7bdd1f76b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
@@ -0,0 +1,6544 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, 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 C {
+ 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;
+
+ public static final String NO_MANIFEST = "org.eclipse.swt.internal.win32.OS.NO_MANIFEST";
+
+ /*
+ * 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;
+
+ /* Forward references */
+ public static final int HEAP_ZERO_MEMORY = 0x8;
+ public static final int ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x00000008;
+ public static final int ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x00000010;
+ public static final int MANIFEST_RESOURCE_ID = 2;
+ public static final int SM_DBCSENABLED = 0x2A;
+ public static final int SM_IMMENABLED = 0x52;
+ public static final int LANG_KOREAN = 0x12;
+ public static final int MAX_PATH = 260;
+
+ /* 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 (System.getProperty (NO_MANIFEST) == null) {
+ if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
+ TCHAR buffer = new TCHAR (0, MAX_PATH);
+ int /*long*/ hModule = OS.GetLibraryHandle ();
+ while (OS.GetModuleFileName (hModule, buffer, buffer.length ()) == buffer.length ()) {
+ buffer = new TCHAR (0, buffer.length () + MAX_PATH);
+ }
+ int /*long*/ hHeap = OS.GetProcessHeap ();
+ int byteCount = buffer.length () * (OS.IsUnicode ? 2 : 1);
+ int /*long*/ pszText = OS.HeapAlloc (hHeap, HEAP_ZERO_MEMORY, byteCount);
+ OS.MoveMemory (pszText, buffer, byteCount);
+ ACTCTX pActCtx = new ACTCTX ();
+ pActCtx.cbSize = ACTCTX.sizeof;
+ pActCtx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID | ACTCTX_FLAG_SET_PROCESS_DEFAULT;
+ pActCtx.lpSource = pszText;
+ pActCtx.lpResourceName = MANIFEST_RESOURCE_ID;
+ int /*long*/ hActCtx = OS.CreateActCtx (pActCtx);
+ if (pszText != 0) OS.HeapFree (hHeap, 0, pszText);
+ int /*long*/ [] lpCookie = new int /*long*/ [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.
+ */
+ }
+ }
+
+ /* Make the process DPI aware for Windows Vista */
+ if (OS.WIN32_VERSION >= OS.VERSION (6, 0)) OS.SetProcessDPIAware ();
+
+ /* Get the DBCS flag */
+ boolean dbcsEnabled = OS.GetSystemMetrics (SM_DBCSENABLED) != 0;
+ boolean immEnabled = OS.GetSystemMetrics (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 == LANG_KOREAN) {
+ OSVERSIONINFOEX infoex = IsUnicode ? (OSVERSIONINFOEX)new OSVERSIONINFOEXW () : (OSVERSIONINFOEX)new OSVERSIONINFOEXA ();
+ infoex.dwOSVersionInfoSize = OSVERSIONINFOEX.sizeof;
+ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 AC_SRC_OVER = 0;
+ public static final int AC_SRC_ALPHA = 1;
+// public static final int ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x00000008;
+// public static final int ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x00000010;
+ public static final int ALTERNATE = 1;
+ public static final int ASSOCF_NOTRUNCATE = 0x00000020;
+ public static final int ASSOCF_INIT_IGNOREUNKNOWN = 0x400;
+ public static final int ASSOCSTR_COMMAND = 1;
+ public static final int ASSOCSTR_DEFAULTICON = 15;
+ public static final int ASSOCSTR_FRIENDLYAPPNAME = 4;
+ public static final int ASSOCSTR_FRIENDLYDOCNAME = 3;
+ public static final int AW_SLIDE = 0x00040000;
+ public static final int AW_ACTIVATE = 0x00020000;
+ public static final int AW_BLEND = 0x00080000;
+ public static final int AW_HIDE = 0x00010000;
+ public static final int AW_CENTER = 0x00000010;
+ public static final int AW_HOR_POSITIVE = 0x00000001;
+ public static final int AW_HOR_NEGATIVE = 0x00000002;
+ public static final int AW_VER_POSITIVE = 0x00000004;
+ public static final int AW_VER_NEGATIVE = 0x00000008;
+ public static final int ATTR_INPUT = 0x00;
+ public static final int ATTR_TARGET_CONVERTED = 0x01;
+ public static final int ATTR_CONVERTED = 0x02;
+ public static final int ATTR_TARGET_NOTCONVERTED = 0x03;
+ public static final int ATTR_INPUT_ERROR = 0x04;
+ public static final int ATTR_FIXEDCONVERTED = 0x05;
+ 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_GETNOTE = BCM_FIRST + 0xa;
+ public static final int BCM_GETNOTELENGTH = BCM_FIRST + 0xb;
+ public static final int BCM_SETIMAGELIST = BCM_FIRST + 0x2;
+ public static final int BCM_SETNOTE = BCM_FIRST + 0x9;
+ 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 BLACK_BRUSH = 4;
+ 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 BPBF_COMPATIBLEBITMAP = 0;
+ public static final int BPBF_DIB = 1;
+ public static final int BPBF_TOPDOWNDIB = 2;
+ public static final int BPBF_TOPDOWNMONODIB = 3;
+ public static final int BPPF_ERASE = 0x0001;
+ public static final int BPPF_NOCLIP = 0x0002;
+ public static final int BPPF_NONCLIENT = 0x0004;
+ 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_INDETERMINATE = 0x2;
+ public static final int BST_UNCHECKED = 0x0;
+ public static final int BS_3STATE = 0x5;
+ 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_COMMANDLINK = 0xe;
+ 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_SETITEMHEIGHT = 0x0153;
+ 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 CCHDEVICENAME = 32;
+ public static final int CCHFORMNAME = 32;
+ public static final int CCHILDREN_SCROLLBAR = 5;
+ 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 CDM_FIRST = 0x0400 + 100;
+ public static final int CDM_GETSPEC = CDM_FIRST;
+ public static final int CDN_FIRST = -601;
+ public static final int CDN_SELCHANGE = CDN_FIRST - 1;
+ public static final int CDRF_DODEFAULT = 0x00000000;
+ public static final int CDRF_DOERASE = 0x00000008;
+ 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 CDRF_SKIPPOSTPAINT = 0x00000100;
+ 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 CFS_CANDIDATEPOS = 0x0040;
+ public static final int CFS_EXCLUDE = 0x0080;
+ 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_HOTLIGHT = 26 | 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 CPS_COMPLETE = 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 CS_OWNDC = 0x20;
+ public static final int CW_USEDEFAULT = 0x80000000;
+ public static final String DATETIMEPICK_CLASS = "SysDateTimePick32"; //$NON-NLS-1$
+ public static final int DATE_LONGDATE = 0x00000002;
+ public static final int DATE_SHORTDATE = 0x00000001;
+ public static final int DATE_YEARMONTH = 0x00000008; //#if(WINVER >= 0x0500)
+ 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 DCX_INTERSECTRGN = 0x80;
+ public static final int DCX_WINDOW = 0x1;
+ 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 short DMCOLLATE_FALSE = 0;
+ public static final short DMCOLLATE_TRUE = 1;
+ public static final int DM_SETDEFID = 0x401;
+ public static final int DM_COLLATE = 0x00008000;
+ public static final int DM_COPIES = 0x00000100;
+ public static final int DM_ORIENTATION = 0x00000001;
+ public static final short DMORIENT_PORTRAIT = 1;
+ public static final short DMORIENT_LANDSCAPE = 2;
+ 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_HIDEPREFIX = 0x100000;
+ 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_RTLREADING = 0x00020000;
+ 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 DTM_FIRST = 0x1000;
+ public static final int DTM_GETSYSTEMTIME = DTM_FIRST + 1;
+ public static final int DTM_SETFORMAT = IsUnicode ? DTM_FIRST + 50 : DTM_FIRST + 5;
+ public static final int DTM_SETSYSTEMTIME = DTM_FIRST + 2;
+ public static final int DTN_FIRST = 0xFFFFFD08;
+ public static final int DTN_DATETIMECHANGE = DTN_FIRST + 1;
+ public static final int DTN_CLOSEUP = DTN_FIRST + 7;
+ public static final int DTN_DROPDOWN = DTN_FIRST + 6;
+ public static final int DTS_LONGDATEFORMAT = 0x0004;
+ public static final int DTS_SHORTDATECENTURYFORMAT = 0x000C;
+ public static final int DTS_SHORTDATEFORMAT = 0x0000;
+ public static final int DTS_TIMEFORMAT = 0x0009;
+ public static final int DTS_UPDOWN = 0x0001;
+ public static final int DWM_BB_ENABLE = 0x1;
+ public static final int DWM_BB_BLURREGION = 0x2;
+ public static final int DWM_BB_TRANSITIONONMAXIMIZED = 0x4;
+ public static final int E_POINTER = 0x80004003;
+ 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 EC_LEFTMARGIN = 0x1;
+ public static final int EC_RIGHTMARGIN = 0x2;
+ 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 ELF_VENDOR_SIZE = 4;
+ 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_SETMARGINS = 211;
+ 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_SETCUEBANNER = 0x1500 + 1;
+ public static final int EM_SETREADONLY = 0xcf;
+ public static final int EM_SETRECT = 0xb3;
+ 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 EMR_EXTCREATEFONTINDIRECTW = 82;
+ public static final int EMR_EXTTEXTOUTW = 84;
+ 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_STATECHANGE = 0x800A;
+ 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 FEATURE_DISABLE_NAVIGATION_SOUNDS = 21;
+ public static final int FILE_ATTRIBUTE_NORMAL = 0x00000080;
+ public static final int FNERR_INVALIDFILENAME = 0x3002;
+ public static final int FNERR_BUFFERTOOSMALL = 0x3003;
+ 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 FR_PRIVATE = 0x10;
+ 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 GCP_REORDER = 0x0002;
+ public static final int GCP_GLYPHSHAPE = 0x0010;
+ public static final int GCP_CLASSIN = 0x00080000;
+ public static final int GCP_LIGATE = 0x0020;
+ public static final int GCS_COMPSTR = 0x8;
+ public static final int GCS_RESULTSTR = 0x800;
+ public static final int GCS_COMPATTR = 0x0010;
+ public static final int GCS_COMPCLAUSE = 0x0020;
+ public static final int GCS_CURSORPOS = 0x0080;
+ public static final int GDT_VALID = 0;
+ public static final int GET_FEATURE_FROM_PROCESS = 0x2;
+ 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_HWNDPARENT = -8;
+ 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 GWLP_ID = -12;
+ public static final int GWLP_HWNDPARENT = -8;
+ public static final int GWLP_USERDATA = 0xffffffeb;
+ public static final int GWLP_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 HCBT_CREATEWND = 3;
+ 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_HITTEST = HDM_FIRST + 6;
+ 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 HHT_ONDIVIDER = 0x4;
+ public static final int HHT_ONDIVOPEN = 0x8;
+ public static final int HICF_ARROWKEYS = 0x2;
+ public static final int HICF_LEAVING = 0x20;
+ public static final int HICF_MOUSE = 0x1;
+ 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 ICC_DATE_CLASSES = 0x100;
+ 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 IDANI_CAPTION = 3;
+ 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 IDI_APPLICATION = 32512;
+ 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 IMEMOUSE_LDOWN = 1;
+ 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 LAYOUT_BITMAPORIENTATIONPRESERVED = 0x8;
+ 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_SETANCHORINDEX = 0xf19c;
+ 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_FULLFACESIZE = 64;
+ 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 LISS_HOT = 0x2;
+ public static final int LISS_SELECTED = 0x3;
+ public static final int LISS_SELECTEDNOTFOCUS = 0x5;
+ 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_IDATE = 0x00000021;
+ public static final int LOCALE_ITIME = 0x00000023;
+ public static final int LOCALE_RETURN_NUMBER = 0x20000000; // #if(WINVER >= 0x0400)
+ public static final int LOCALE_S1159 = 0x00000028;
+ public static final int LOCALE_S2359 = 0x00000029;
+ 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_SLONGDATE = 0x00000020;
+ public static final int LOCALE_SSHORTDATE = 0x0000001F;
+ public static final int LOCALE_STIMEFORMAT = 0x00001003;
+ public static final int LOCALE_SYEARMONTH = 0x00001006; // #if(WINVER >= 0x0500)
+ public static final int LOCALE_SDAYNAME1 = 0x0000002A; // long name for Monday
+ public static final int LOCALE_SDAYNAME2 = 0x0000002B; // long name for Tuesday
+ public static final int LOCALE_SDAYNAME3 = 0x0000002C; // long name for Wednesday
+ public static final int LOCALE_SDAYNAME4 = 0x0000002D; // long name for Thursday
+ public static final int LOCALE_SDAYNAME5 = 0x0000002E; // long name for Friday
+ public static final int LOCALE_SDAYNAME6 = 0x0000002F; // long name for Saturday
+ public static final int LOCALE_SDAYNAME7 = 0x00000030; // long name for Sunday
+ public static final int LOCALE_SMONTHNAME1 = 0x00000038; // long name for January
+ public static final int LOCALE_SMONTHNAME2 = 0x00000039; // long name for February
+ public static final int LOCALE_SMONTHNAME3 = 0x0000003A; // long name for March
+ public static final int LOCALE_SMONTHNAME4 = 0x0000003B; // long name for April
+ public static final int LOCALE_SMONTHNAME5 = 0x0000003C; // long name for May
+ public static final int LOCALE_SMONTHNAME6 = 0x0000003D; // long name for June
+ public static final int LOCALE_SMONTHNAME7 = 0x0000003E; // long name for July
+ public static final int LOCALE_SMONTHNAME8 = 0x0000003F; // long name for August
+ public static final int LOCALE_SMONTHNAME9 = 0x00000040; // long name for September
+ public static final int LOCALE_SMONTHNAME10 = 0x00000041; // long name for October
+ public static final int LOCALE_SMONTHNAME11 = 0x00000042; // long name for November
+ public static final int LOCALE_SMONTHNAME12 = 0x00000043; // long name for December
+ 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 LVM_SETTOOLTIPS = LVM_FIRST + 74;
+ public static final int LVM_SUBITEMHITTEST = LVM_FIRST + 57;
+ 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 LVN_ODSTATECHANGED = LVN_FIRST - 15;
+ public static final int LVP_LISTITEM = 1;
+ 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_TRANSPARENTBKGND = 0x800000;
+ public static final int LVS_EX_TWOCLICKACTIVATE = 0x80;
+ public static final int LVS_LIST = 0x3;
+ 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 LWA_COLORKEY = 0x00000001;
+ public static final int LWA_ALPHA = 0x00000002;
+ 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_RIGHT = 0x00080000;
+ 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_TOPMOST = 0x00040000;
+ public static final int MB_YESNO = 0x4;
+ public static final int MB_YESNOCANCEL = 0x3;
+ public static final int MCHT_CALENDAR = 0x20000;
+ public static final int MCHT_CALENDARDATE = MCHT_CALENDAR | 0x0001;
+ public static final int MCM_FIRST = 0x1000;
+ public static final int MCM_GETCURSEL = MCM_FIRST + 1;
+ public static final int MCM_GETMINREQRECT = MCM_FIRST + 9;
+ public static final int MCM_HITTEST = MCM_FIRST + 14;
+ public static final int MCM_SETCURSEL = MCM_FIRST + 2;
+ public static final int MCN_FIRST = 0xFFFFFD12;
+ public static final int MCN_SELCHANGE = MCN_FIRST + 1;
+ public static final int MCN_SELECT = MCN_FIRST + 4;
+ public static final int MCS_NOTODAY = 0x0010;
+ 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_STRING = 0x40;
+ public static final int MIIM_SUBMENU = 0x4;
+ public static final int MIIM_TYPE = 0x10;
+ public static final int MIM_BACKGROUND = 0x2;
+ public static final int MIM_STYLE = 0x10;
+ public static final int MK_ALT = 0x20;
+ 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 String MONTHCAL_CLASS = "SysMonthCal32"; //$NON-NLS-1$
+ 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 MOUSEEVENTF_VIRTUALDESK = 0x4000;
+ public static final int MOUSEEVENTF_WHEEL = 0x0800;
+ public static final int MOUSEEVENTF_XDOWN = 0x0080;
+ public static final int MOUSEEVENTF_XUP = 0x0100;
+ 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 MWT_LEFTMULTIPLY = 2;
+ public static final int NI_COMPOSITIONSTR = 0x15;
+ 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 = NOTIFYICONDATAA_V2_SIZE ();
+ public static final int NOTIFYICONDATAW_V2_SIZE = NOTIFYICONDATAW_V2_SIZE ();
+ 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_WINDOW = 0x00000000;
+ public static final int OBJID_SYSMENU = 0xFFFFFFFF;
+ public static final int OBJID_TITLEBAR = 0xFFFFFFFE;
+ public static final int OBJID_MENU = 0xFFFFFFFD;
+ public static final int OBJID_CLIENT = 0xFFFFFFFC;
+ public static final int OBJID_VSCROLL = 0xFFFFFFFB;
+ public static final int OBJID_HSCROLL = 0xFFFFFFFA;
+ public static final int OBJID_SIZEGRIP = 0xFFFFFFF9;
+ public static final int OBJID_CARET = 0xFFFFFFF8;
+ public static final int OBJID_CURSOR = 0xFFFFFFF7;
+ public static final int OBJID_ALERT = 0xFFFFFFF6;
+ public static final int OBJID_SOUND = 0xFFFFFFF5;
+ public static final int OBJID_QUERYCLASSNAMEIDX = 0xFFFFFFF4;
+ public static final int OBJID_NATIVEOM = 0xFFFFFFF0;
+ 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_ENABLEHOOK = 0x20;
+ public static final int OFN_ENABLESIZING = 0x800000;
+ public static final int OFN_HIDEREADONLY = 0x4;
+ public static final int OFN_NOCHANGEDIR = 0x8;
+ public static final int OFN_OVERWRITEPROMPT = 0x2;
+ 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_GETSTATE = 0x400 + 17;
+ public static final int PBM_SETBARCOLOR = 0x409;
+ public static final int PBM_SETBKCOLOR = 0x2001;
+ public static final int PBM_SETMARQUEE = 0x400 + 10;
+ public static final int PBM_SETPOS = 0x402;
+ public static final int PBM_SETRANGE32 = 0x406;
+ public static final int PBM_SETSTATE = 0x400 + 16;
+ 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 PBST_NORMAL = 0x0001;
+ public static final int PBST_ERROR = 0x0002;
+ public static final int PBST_PAUSED = 0x0003;
+ 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_RETURNDEFAULT = 0x00000400;
+ public static final int PD_SELECTION = 0x1;
+ public static final int PD_USEDEVMODECOPIESANDCOLLATE = 0x40000;
+ public static final int PT_CLOSEFIGURE = 1;
+ public static final int PT_LINETO = 2;
+ public static final int PT_BEZIERTO = 4;
+ public static final int PT_MOVETO = 6;
+ 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 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 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 PRF_CHILDREN = 16;
+ 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 PROGRESSCHUNKSIZE = 2411;
+ public static final int PROGRESSSPACESIZE = 2412;
+ 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 SET_FEATURE_ON_PROCESS = 0x2;
+ 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 SHGFI_ICON = 0x000000100;
+ public static final int SHGFI_SMALLICON= 0x1;
+ public static final int SHGFI_USEFILEATTRIBUTES = 0x000000010;
+ 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_CXFOCUSBORDER = 83;
+ 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_CYFOCUSBORDER = 84;
+ 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_CMOUSEBUTTONS = 43;
+ 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_GETMOUSEVANISH = 0x1020;
+ public static final int SPI_GETNONCLIENTMETRICS = 41;
+ public static final int SPI_GETWHEELSCROLLLINES = 104;
+ public static final int SPI_GETCARETWIDTH = 0x2006;
+ 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 SSA_FALLBACK = 0x00000020;
+ public static final int SSA_GLYPHS = 0x00000080;
+ public static final int SSA_METAFILE = 0x00000800;
+ public static final int SSA_LINK = 0x00001000;
+ public static final int STANDARD_RIGHTS_READ = 0x20000;
+ public static final int STARTF_USESHOWWINDOW = 0x1;
+ public static final int STATE_SYSTEM_INVISIBLE = 0x00008000;
+ public static final int STATE_SYSTEM_OFFSCREEN = 0x00010000;
+ public static final int STATE_SYSTEM_UNAVAILABLE = 0x00000001;
+ 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_HITTEST = 0x130d;
+ 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 TF_ATTR_INPUT = 0;
+ public static final int TF_ATTR_TARGET_CONVERTED = 1;
+ public static final int TF_ATTR_CONVERTED = 2;
+ public static final int TF_ATTR_TARGET_NOTCONVERTED = 3;
+ public static final int TF_ATTR_INPUT_ERROR = 4;
+ public static final int TF_ATTR_FIXEDCONVERTED = 5;
+ public static final int TF_ATTR_OTHER = -1;
+ public static final int TF_CT_NONE = 0;
+ public static final int TF_CT_SYSCOLOR = 1;
+ public static final int TF_CT_COLORREF = 2;
+ public static final int TF_LS_NONE = 0;
+ public static final int TF_LS_SOLID = 1;
+ public static final int TF_LS_DOT = 2;
+ public static final int TF_LS_DASH = 3;
+ public static final int TF_LS_SQUIGGLE = 4;
+ public static final int TIME_NOSECONDS = 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 TREIS_DISABLED = 4;
+ public static final int TREIS_HOT = 2;
+ public static final int TREIS_NORMAL = 1;
+ public static final int TREIS_SELECTED = 3;
+ public static final int TREIS_SELECTEDNOTFOCUS = 5;
+ 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_ADJUSTRECT = 0x400 + 31;
+ 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 TTS_NOANIMATE = 0x10;
+ public static final int TTS_NOFADE = 0x20;
+ public static final int TTS_NOPREFIX = 0x02;
+ 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_ONITEMINDENT = 0x8;
+ public static final int TVHT_ONITEMRIGHT = 0x20;
+ 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 /*long*/ TVI_FIRST = -0x0FFFF;
+ public static final int /*long*/ TVI_LAST = -0x0FFFE;
+ public static final int /*long*/ TVI_ROOT = -0x10000;
+ public static final int /*long*/ TVI_SORT = -0x0FFFD;
+ 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_GETEXTENDEDSTYLE = TV_FIRST + 45;
+ 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_SETEXTENDEDSTYLE = TV_FIRST + 44;
+ 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 TVM_SORTCHILDREN = TV_FIRST + 19;
+ public static final int TVM_SORTCHILDRENCB = TV_FIRST + 21;
+ 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 TVP_TREEITEM = 1;
+ 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_EX_AUTOHSCROLL = 0x0020;
+ public static final int TVS_EX_DOUBLEBUFFER = 0x0004;
+ public static final int TVS_EX_DIMMEDCHECKBOXES = 0x0200;
+ public static final int TVS_EX_DRAWIMAGEASYNC = 0x0400;
+ public static final int TVS_EX_EXCLUSIONCHECKBOXES = 0x0100;
+ public static final int TVS_EX_FADEINOUTEXPANDOS = 0x0040;
+ public static final int TVS_EX_MULTISELECT = 0x0002;
+ public static final int TVS_EX_NOINDENTSTATE = 0x0008;
+ public static final int TVS_EX_PARTIALCHECKBOXES = 0x0080;
+ public static final int TVS_EX_RICHTOOLTIP = 0x0010;
+ 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_NOSCROLL = 0x2000;
+ public static final int TVS_NOTOOLTIPS = 0x80;
+ public static final int TVS_SHOWSELALWAYS = 0x20;
+ public static final int TVS_TRACKSELECT = 0x200;
+ 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_CLEAR = 2;
+ public static final int UIS_INITIALIZE = 3;
+ public static final int UIS_SET = 1;
+ 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_CBT = 5;
+ 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_DWMCOLORIZATIONCOLORCHANGED = 0x320;
+ 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_IME_COMPOSITION_START = 0x010D;
+ public static final int WM_IME_ENDCOMPOSITION = 0x010E;
+ 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_THEMECHANGED = 0x031a;
+ 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_APPWINDOW = 0x40000;
+ public static final int WS_EX_CAPTIONOKBTN = 0x80000000;
+ public static final int WS_EX_CLIENTEDGE = 0x200;
+ public static final int WS_EX_COMPOSITED = 0x2000000;
+ public static final int WS_EX_DLGMODALFRAME = 0x1;
+ public static final int WS_EX_LAYERED = 0x00080000;
+ 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_NOACTIVATE = 0x08000000;
+ 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;
+}
+
+/** 64 bit */
+public static final native int ACCEL_sizeof ();
+public static final native int ACTCTX_sizeof ();
+public static final native int BITMAP_sizeof ();
+public static final native int BITMAPINFOHEADER_sizeof ();
+public static final native int BLENDFUNCTION_sizeof ();
+public static final native int BP_PAINTPARAMS_sizeof ();
+public static final native int BROWSEINFO_sizeof ();
+public static final native int BUTTON_IMAGELIST_sizeof ();
+public static final native int CANDIDATEFORM_sizeof ();
+public static final native int CHOOSECOLOR_sizeof ();
+public static final native int CHOOSEFONT_sizeof ();
+public static final native int COMBOBOXINFO_sizeof ();
+public static final native int COMPOSITIONFORM_sizeof ();
+public static final native int CREATESTRUCT_sizeof ();
+public static final native int DEVMODEA_sizeof ();
+public static final native int DEVMODEW_sizeof ();
+public static final native int DIBSECTION_sizeof ();
+public static final native int DLLVERSIONINFO_sizeof ();
+public static final native int DOCHOSTUIINFO_sizeof ();
+public static final native int DOCINFO_sizeof ();
+public static final native int DRAWITEMSTRUCT_sizeof ();
+public static final native int DROPFILES_sizeof ();
+public static final native int DWM_BLURBEHIND_sizeof ();
+public static final native int EMR_sizeof ();
+public static final native int EMREXTCREATEFONTINDIRECTW_sizeof ();
+public static final native int EXTLOGFONTW_sizeof ();
+public static final native int EXTLOGPEN_sizeof ();
+public static final native int FILETIME_sizeof ();
+public static final native int GCP_RESULTS_sizeof ();
+public static final native int GRADIENT_RECT_sizeof ();
+public static final native int GUITHREADINFO_sizeof ();
+public static final native int HDITEM_sizeof ();
+public static final native int HDLAYOUT_sizeof ();
+public static final native int HDHITTESTINFO_sizeof ();
+public static final native int HELPINFO_sizeof ();
+public static final native int HIGHCONTRAST_sizeof ();
+public static final native int ICONINFO_sizeof ();
+public static final native int INITCOMMONCONTROLSEX_sizeof ();
+public static final native int INPUT_sizeof ();
+public static final native int KEYBDINPUT_sizeof ();
+public static final native int LITEM_sizeof ();
+public static final native int LOGBRUSH_sizeof ();
+public static final native int LOGFONTA_sizeof ();
+public static final native int LOGFONTW_sizeof ();
+public static final native int LOGPEN_sizeof ();
+public static final native int LVCOLUMN_sizeof ();
+public static final native int LVHITTESTINFO_sizeof ();
+public static final native int LVITEM_sizeof ();
+public static final native int MARGINS_sizeof ();
+public static final native int MCHITTESTINFO_sizeof ();
+public static final native int MEASUREITEMSTRUCT_sizeof ();
+public static final native int MENUBARINFO_sizeof ();
+public static final native int MENUINFO_sizeof ();
+public static final native int MENUITEMINFO_sizeof ();
+public static final native int MINMAXINFO_sizeof ();
+public static final native int MOUSEINPUT_sizeof ();
+public static final native int MONITORINFO_sizeof ();
+public static final native int MSG_sizeof ();
+public static final native int NMCUSTOMDRAW_sizeof ();
+public static final native int NMHDR_sizeof ();
+public static final native int NMHEADER_sizeof ();
+public static final native int NMLINK_sizeof ();
+public static final native int NMLISTVIEW_sizeof ();
+public static final native int NMLVCUSTOMDRAW_sizeof ();
+public static final native int NMLVDISPINFO_sizeof ();
+public static final native int NMLVFINDITEM_sizeof ();
+public static final native int NMLVODSTATECHANGE_sizeof ();
+public static final native int NMREBARCHEVRON_sizeof ();
+public static final native int NMREBARCHILDSIZE_sizeof ();
+public static final native int NMRGINFO_sizeof ();
+public static final native int NMTBHOTITEM_sizeof ();
+public static final native int NMTREEVIEW_sizeof ();
+public static final native int NMTOOLBAR_sizeof ();
+public static final native int NMTTDISPINFOA_sizeof ();
+public static final native int NMTTDISPINFOW_sizeof ();
+public static final native int NMTTCUSTOMDRAW_sizeof ();
+public static final native int NMTVCUSTOMDRAW_sizeof ();
+public static final native int NMTVDISPINFO_sizeof ();
+public static final native int NMTVITEMCHANGE_sizeof ();
+public static final native int NMUPDOWN_sizeof ();
+public static final native int NONCLIENTMETRICSA_sizeof ();
+public static final native int NONCLIENTMETRICSW_sizeof ();
+/** @method flags=const */
+public static final native int NOTIFYICONDATAA_V2_SIZE ();
+/** @method flags=const */
+public static final native int NOTIFYICONDATAW_V2_SIZE ();
+public static final native int OFNOTIFY_sizeof ();
+public static final native int OPENFILENAME_sizeof ();
+public static final native int OSVERSIONINFOA_sizeof ();
+public static final native int OSVERSIONINFOW_sizeof ();
+public static final native int OSVERSIONINFOEXA_sizeof ();
+public static final native int OSVERSIONINFOEXW_sizeof ();
+public static final native int OUTLINETEXTMETRICA_sizeof ();
+public static final native int OUTLINETEXTMETRICW_sizeof ();
+public static final native int PAINTSTRUCT_sizeof ();
+public static final native int PANOSE_sizeof ();
+public static final native int POINT_sizeof ();
+public static final native int PRINTDLG_sizeof ();
+public static final native int PROCESS_INFORMATION_sizeof ();
+public static final native int REBARBANDINFO_sizeof ();
+public static final native int RECT_sizeof ();
+public static final native int SCRIPT_ANALYSIS_sizeof ();
+public static final native int SCRIPT_CONTROL_sizeof ();
+public static final native int SCRIPT_DIGITSUBSTITUTE_sizeof ();
+public static final native int SCRIPT_FONTPROPERTIES_sizeof ();
+public static final native int SCRIPT_ITEM_sizeof ();
+public static final native int SCRIPT_LOGATTR_sizeof ();
+public static final native int SCRIPT_PROPERTIES_sizeof ();
+public static final native int SCRIPT_STATE_sizeof ();
+public static final native int SCRIPT_STRING_ANALYSIS_sizeof ();
+public static final native int SCROLLBARINFO_sizeof ();
+public static final native int SCROLLINFO_sizeof ();
+public static final native int SHACTIVATEINFO_sizeof ();
+public static final native int SHDRAGIMAGE_sizeof();
+public static final native int SHELLEXECUTEINFO_sizeof ();
+public static final native int SHFILEINFOA_sizeof ();
+public static final native int SHFILEINFOW_sizeof ();
+public static final native int SHMENUBARINFO_sizeof ();
+public static final native int SHRGINFO_sizeof ();
+public static final native int SIPINFO_sizeof ();
+public static final native int SIZE_sizeof ();
+public static final native int STARTUPINFO_sizeof ();
+public static final native int SYSTEMTIME_sizeof ();
+public static final native int TBBUTTON_sizeof ();
+public static final native int TBBUTTONINFO_sizeof ();
+public static final native int TCITEM_sizeof ();
+public static final native int TCHITTESTINFO_sizeof ();
+public static final native int TEXTMETRICA_sizeof ();
+public static final native int TEXTMETRICW_sizeof ();
+public static final native int TF_DA_COLOR_sizeof ();
+public static final native int TF_DISPLAYATTRIBUTE_sizeof ();
+public static final native int TOOLINFO_sizeof ();
+public static final native int TRACKMOUSEEVENT_sizeof ();
+public static final native int TRIVERTEX_sizeof ();
+public static final native int TVHITTESTINFO_sizeof ();
+public static final native int TVINSERTSTRUCT_sizeof ();
+public static final native int TVITEM_sizeof ();
+public static final native int TVITEMEX_sizeof ();
+public static final native int TVSORTCB_sizeof ();
+public static final native int UDACCEL_sizeof ();
+public static final native int WINDOWPLACEMENT_sizeof ();
+public static final native int WINDOWPOS_sizeof ();
+public static final native int WNDCLASS_sizeof ();
+
+/** Ansi/Unicode wrappers */
+
+public static final int /*long*/ AddFontResourceEx (TCHAR lpszFilename, int fl, int /*long*/ pdv) {
+ if (IsUnicode) {
+ char [] lpszFilename1 = lpszFilename == null ? null : lpszFilename.chars;
+ return AddFontResourceExW (lpszFilename1, fl, pdv);
+ }
+ byte [] lpszFilename1 = lpszFilename == null ? null : lpszFilename.bytes;
+ return AddFontResourceExA (lpszFilename1, fl, pdv);
+}
+
+public static final int AssocQueryString(int flags, int str, TCHAR pszAssoc, TCHAR pszExtra, TCHAR pszOut, int[] pcchOut) {
+ if (IsUnicode) {
+ char [] pszAssoc1 = pszAssoc == null ? null : pszAssoc.chars;
+ char [] pszExtra1 = pszExtra == null ? null : pszExtra.chars;
+ char [] pszOut1 = pszOut == null ? null : pszOut.chars;
+ return AssocQueryStringW (flags, str, pszAssoc1, pszExtra1, pszOut1, pcchOut);
+ }
+ byte [] pszAssoc1 = pszAssoc == null ? null : pszAssoc.bytes;
+ byte [] pszExtra1 = pszExtra == null ? null : pszExtra.bytes;
+ byte [] pszOut1 = pszOut == null ? null : pszOut.bytes;
+ return AssocQueryStringA (flags, str, pszAssoc1, pszExtra1, pszOut1, pcchOut);
+}
+
+public static final int /*long*/ CallWindowProc (int /*long*/ lpPrevWndFunc, int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam) {
+ if (IsUnicode) return CallWindowProcW (lpPrevWndFunc, hWnd, Msg, wParam, lParam);
+ return CallWindowProcA (lpPrevWndFunc, hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ CharUpper (int /*long*/ ch) {
+ if (IsUnicode) return CharUpperW (ch);
+ return CharUpperA (ch);
+}
+
+public static final int /*long*/ CharLower (int /*long*/ 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 /*long*/ CreateActCtx (ACTCTX pActCtx) {
+ if (IsUnicode) return CreateActCtxW (pActCtx);
+ return CreateActCtxA (pActCtx);
+}
+
+public static final int /*long*/ CreateAcceleratorTable (byte [] lpaccl, int cEntries) {
+ if (IsUnicode) return CreateAcceleratorTableW (lpaccl, cEntries);
+ return CreateAcceleratorTableA (lpaccl, cEntries);
+}
+
+public static final int /*long*/ CreateDC (TCHAR lpszDriver, TCHAR lpszDevice, int /*long*/ lpszOutput, int /*long*/ 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 /*long*/ CreateEnhMetaFile (int /*long*/ hdcRef, TCHAR lpFilename, RECT lpRect, TCHAR lpDescription) {
+ if (IsUnicode) {
+ char [] lpFilename1 = lpFilename == null ? null : lpFilename.chars;
+ char [] lpDescription1 = lpDescription == null ? null : lpDescription.chars;
+ return CreateEnhMetaFileW (hdcRef, lpFilename1, lpRect, lpDescription1);
+ }
+ byte [] lpFilename1 = lpFilename == null ? null : lpFilename.bytes;
+ byte [] lpDescription1 = lpDescription == null ? null : lpDescription.bytes;
+ return CreateEnhMetaFileA (hdcRef, lpFilename1, lpRect, lpDescription1);
+}
+
+public static final int /*long*/ CreateFontIndirect (int /*long*/ lplf) {
+ if (IsUnicode) return CreateFontIndirectW (lplf);
+ return CreateFontIndirectA (lplf);
+}
+
+public static final int /*long*/ CreateFontIndirect (LOGFONT lplf) {
+ if (IsUnicode) return CreateFontIndirectW ((LOGFONTW)lplf);
+ return CreateFontIndirectA ((LOGFONTA)lplf);
+}
+
+public static final boolean CreateProcess (int /*long*/ lpApplicationName, int /*long*/ lpCommandLine, int /*long*/ lpProcessAttributes, int /*long*/ lpThreadAttributes, boolean bInheritHandles, int dwCreationFlags, int /*long*/ lpEnvironment, int /*long*/ lpCurrentDirectory, STARTUPINFO lpStartupInfo, PROCESS_INFORMATION lpProcessInformation) {
+ if (IsUnicode) return CreateProcessW (lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation);
+ return CreateProcessA (lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation);
+}
+
+public static final int /*long*/ CreateWindowEx (int dwExStyle, TCHAR lpClassName, TCHAR lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int /*long*/ hWndParent, int /*long*/ hMenu, int /*long*/ 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 /*long*/ DefMDIChildProc (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam) {
+ if (IsUnicode) return DefMDIChildProcW (hWnd, Msg, wParam, lParam);
+ return DefMDIChildProcA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ DefFrameProc (int /*long*/ hWnd, int /*long*/ hWndMDIClient, int Msg, int /*long*/ wParam, int /*long*/ lParam) {
+ if (IsUnicode) return DefFrameProcW (hWnd, hWndMDIClient, Msg, wParam, lParam);
+ return DefFrameProcA (hWnd, hWndMDIClient, Msg, wParam, lParam);
+}
+public static final int /*long*/ DefWindowProc (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam) {
+ if (IsUnicode) return DefWindowProcW (hWnd, Msg, wParam, lParam);
+ return DefWindowProcA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ DispatchMessage (MSG lpmsg) {
+ if (IsUnicode) return DispatchMessageW (lpmsg);
+ return DispatchMessageA (lpmsg);
+}
+
+public static final int DragQueryFile (int /*long*/ 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 /*long*/ hdc, int /*long*/ hbr, int /*long*/ lpOutputFunc, int /*long*/ lData, int /*long*/ 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 /*long*/ 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 /*long*/ hdc, TCHAR lpszFamily, int /*long*/ lpEnumFontFamProc, int /*long*/ 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 /*long*/ hdc, LOGFONT lpLogfont, int /*long*/ lpEnumFontFamExProc, int /*long*/ 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 /*long*/ lpLocaleEnumProc, int dwFlags) {
+ if (IsUnicode) return EnumSystemLocalesW (lpLocaleEnumProc, dwFlags);
+ return EnumSystemLocalesA (lpLocaleEnumProc, dwFlags);
+}
+
+public static final boolean EnumSystemLanguageGroups (int /*long*/ pLangGroupEnumProc, int dwFlags, int /*long*/ 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 /*long*/ [] phiconLarge, int /*long*/ [] 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 /*long*/ 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 /*long*/ 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 /*long*/ lpSource, int dwMessageId, int dwLanguageId, int /*long*/ [] lpBuffer, int nSize, int /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 GetDateFormat (int Locale, int dwFlags, SYSTEMTIME lpDate, TCHAR lpFormat, TCHAR lpDateStr, int cchDate) {
+ if (IsUnicode) {
+ char [] lpString1 = lpFormat == null ? null : lpFormat.chars;
+ char [] lpString2 = lpDateStr == null ? null : lpDateStr.chars;
+ return GetDateFormatW (Locale, dwFlags, lpDate, lpString1, lpString2, cchDate);
+ }
+ byte [] lpString1 = lpFormat == null ? null : lpFormat.bytes;
+ byte [] lpString2 = lpDateStr == null ? null : lpDateStr.bytes;
+ return GetDateFormatA (Locale, dwFlags, lpDate, lpString1, lpString2, cchDate);
+}
+
+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 /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ hmonitor, MONITORINFO lpmi) {
+ if (IsUnicode) return GetMonitorInfoW (hmonitor, lpmi);
+ return GetMonitorInfoA (hmonitor, lpmi);
+}
+
+public static final int GetObject (int /*long*/ hgdiobj, int cbBuffer, BITMAP lpvObject) {
+ if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
+ return GetObjectA (hgdiobj, cbBuffer, lpvObject);
+}
+
+public static final int GetObject (int /*long*/ hgdiobj, int cbBuffer, DIBSECTION lpvObject) {
+ if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
+ return GetObjectA (hgdiobj, cbBuffer, lpvObject);
+}
+
+public static final int GetObject (int /*long*/ hgdiobj, int cbBuffer, EXTLOGPEN lpvObject) {
+ if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
+ return GetObjectA (hgdiobj, cbBuffer, lpvObject);
+}
+
+public static final int GetObject (int /*long*/ hgdiobj, int cbBuffer, LOGBRUSH lpvObject) {
+ if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
+ return GetObjectA (hgdiobj, cbBuffer, lpvObject);
+}
+
+public static final int GetObject (int /*long*/ 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 /*long*/ hgdiobj, int cbBuffer, LOGPEN lpvObject) {
+ if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
+ return GetObjectA (hgdiobj, cbBuffer, lpvObject);
+}
+
+public static final int GetObject (int /*long*/ hgdiobj, int cbBuffer, int /*long*/ 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 GetOutlineTextMetrics (int /*long*/ hdc, int cbData, OUTLINETEXTMETRIC lpOTM) {
+ if (IsUnicode) return GetOutlineTextMetricsW (hdc, cbData, (OUTLINETEXTMETRICW)lpOTM);
+ return GetOutlineTextMetricsA (hdc, cbData, (OUTLINETEXTMETRICA)lpOTM);
+}
+
+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 /*long*/ GetProp (int /*long*/ hWnd, int /*long*/ 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 void GetStartupInfo (STARTUPINFO lpStartupInfo) {
+ if (IsUnicode) {
+ GetStartupInfoW (lpStartupInfo);
+ } else {
+ GetStartupInfoA (lpStartupInfo);
+ }
+}
+
+public static final boolean GetTextExtentPoint32 (int /*long*/ 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 /*long*/ hdc, TEXTMETRIC lptm) {
+ if (IsUnicode) return GetTextMetricsW (hdc, (TEXTMETRICW)lptm);
+ return GetTextMetricsA (hdc, (TEXTMETRICA)lptm);
+}
+
+public static final int GetTimeFormat (int Locale, int dwFlags, SYSTEMTIME lpTime, TCHAR lpFormat, TCHAR lpTimeStr, int cchTime) {
+ if (IsUnicode) {
+ char [] lpString1 = lpFormat == null ? null : lpFormat.chars;
+ char [] lpString2 = lpTimeStr == null ? null : lpTimeStr.chars;
+ return GetTimeFormatW (Locale, dwFlags, lpTime, lpString1, lpString2, cchTime);
+ }
+ byte [] lpString1 = lpFormat == null ? null : lpFormat.bytes;
+ byte [] lpString2 = lpTimeStr == null ? null : lpTimeStr.bytes;
+ return GetTimeFormatA (Locale, dwFlags, lpTime, lpString1, lpString2, cchTime);
+}
+
+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 /*long*/ hWnd, int nIndex) {
+ if (IsUnicode) return GetWindowLongW (hWnd, nIndex);
+ return GetWindowLongA (hWnd, nIndex);
+}
+
+public static final int /*long*/ GetWindowLongPtr (int /*long*/ hWnd, int nIndex) {
+ if (IsUnicode) return GetWindowLongPtrW (hWnd, nIndex);
+ return GetWindowLongPtrA (hWnd, nIndex);
+}
+
+public static final int GetWindowText (int /*long*/ 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 /*long*/ 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 /*long*/ hIMC, LOGFONT lplf) {
+ if (IsUnicode) return ImmGetCompositionFontW (hIMC, (LOGFONTW)lplf);
+ return ImmGetCompositionFontA (hIMC, (LOGFONTA)lplf);
+}
+
+public static final boolean ImmSetCompositionFont (int /*long*/ hIMC, LOGFONT lplf) {
+ if (IsUnicode) return ImmSetCompositionFontW (hIMC, (LOGFONTW)lplf);
+ return ImmSetCompositionFontA (hIMC, (LOGFONTA)lplf);
+}
+
+public static final int ImmGetCompositionString (int /*long*/ hIMC, int dwIndex, byte [] lpBuf, int dwBufLen) {
+ if (IsUnicode) {
+ return ImmGetCompositionStringW (hIMC, dwIndex, lpBuf, dwBufLen);
+ }
+ return ImmGetCompositionStringA (hIMC, dwIndex, lpBuf, dwBufLen);
+}
+
+public static final int ImmGetCompositionString (int /*long*/ hIMC, int dwIndex, int [] lpBuf, int dwBufLen) {
+ if (IsUnicode) {
+ return ImmGetCompositionStringW (hIMC, dwIndex, lpBuf, dwBufLen);
+ }
+ return ImmGetCompositionStringA (hIMC, dwIndex, lpBuf, dwBufLen);
+}
+
+public static final int ImmGetCompositionString (int /*long*/ 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 InternetGetCookie (TCHAR lpszUrl, TCHAR lpszCookieName, TCHAR lpszCookieData, int[] lpdwSize) {
+ if (IsUnicode) {
+ char [] url = lpszUrl == null ? null : lpszUrl.chars;
+ char [] cookieName = lpszCookieName == null ? null : lpszCookieName.chars;
+ char [] cookieData = lpszCookieData == null ? null : lpszCookieData.chars;
+ return InternetGetCookieW (url, cookieName, cookieData, lpdwSize);
+ }
+ byte [] url = lpszUrl == null ? null : lpszUrl.bytes;
+ byte [] cookieName = lpszCookieName == null ? null : lpszCookieName.bytes;
+ byte [] cookieData = lpszCookieData == null ? null : lpszCookieData.bytes;
+ return InternetGetCookieA (url, cookieName, cookieData, lpdwSize);
+}
+
+public static final boolean InternetSetCookie (TCHAR lpszUrl, TCHAR lpszCookieName, TCHAR lpszCookieData) {
+ if (IsUnicode) {
+ char [] url = lpszUrl == null ? null : lpszUrl.chars;
+ char [] cookieName = lpszCookieName == null ? null : lpszCookieName.chars;
+ char [] cookieData = lpszCookieData == null ? null : lpszCookieData.chars;
+ return InternetSetCookieW (url, cookieName, cookieData);
+ }
+ byte [] url = lpszUrl == null ? null : lpszUrl.bytes;
+ byte [] cookieName = lpszCookieName == null ? null : lpszCookieName.bytes;
+ byte [] cookieData = lpszCookieData == null ? null : lpszCookieData.bytes;
+ return InternetSetCookieA (url, cookieName, cookieData);
+}
+
+public static final boolean InsertMenu (int /*long*/ hMenu, int uPosition, int uFlags, int /*long*/ 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 /*long*/ 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 /*long*/ LoadBitmap (int /*long*/ hInstance, int /*long*/ lpBitmapName) {
+ if (IsUnicode) return LoadBitmapW (hInstance, lpBitmapName);
+ return LoadBitmapA (hInstance, lpBitmapName);
+}
+
+public static final int /*long*/ LoadCursor (int /*long*/ hInstance, int /*long*/ lpCursorName) {
+ if (IsUnicode) return LoadCursorW (hInstance, lpCursorName);
+ return LoadCursorA (hInstance, lpCursorName);
+}
+
+public static final int /*long*/ LoadIcon (int /*long*/ hInstance, int /*long*/ lpIconName) {
+ if (IsUnicode) return LoadIconW (hInstance, lpIconName);
+ return LoadIconA (hInstance, lpIconName);
+}
+
+public static final int /*long*/ LoadImage (int /*long*/ 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 /*long*/ LoadImage (int /*long*/ hinst, int /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ 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 /*long*/ Destination, DEVMODE Source, int Length) {
+ if (IsUnicode) {
+ MoveMemory (Destination, (DEVMODEW)Source, Length);
+ } else {
+ MoveMemory (Destination, (DEVMODEA)Source, Length);
+ }
+}
+
+public static final void MoveMemory (DEVMODE Destination, int /*long*/ Source, int Length) {
+ if (IsUnicode) {
+ MoveMemory ((DEVMODEW)Destination, Source, Length);
+ } else {
+ MoveMemory ((DEVMODEA)Destination, Source, Length);
+ }
+}
+
+public static final void MoveMemory (int /*long*/ 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 /*long*/ Source, int Length) {
+ if (IsUnicode) {
+ MoveMemory ((LOGFONTW)Destination, Source, Length);
+ } else {
+ MoveMemory ((LOGFONTA)Destination, Source, Length);
+ }
+}
+
+public static final void MoveMemory (int /*long*/ 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 /*long*/ Source, int Length) {
+ if (IsUnicode) {
+ MoveMemory ((NMTTDISPINFOW)Destination, Source, Length);
+ } else {
+ MoveMemory ((NMTTDISPINFOA)Destination, Source, Length);
+ }
+}
+
+public static final void MoveMemory (TEXTMETRIC Destination, int /*long*/ Source, int Length) {
+ if (IsUnicode) {
+ MoveMemory ((TEXTMETRICW)Destination, Source, Length);
+ } else {
+ MoveMemory ((TEXTMETRICA)Destination, Source, Length);
+ }
+}
+
+public static final boolean PeekMessage (MSG lpMsg, int /*long*/ 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 /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ 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 /*long*/ wParam, int /*long*/ 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 /*long*/ 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 /*long*/ hKey, TCHAR lpSubKey, int ulOptions, int samDesired, int /*long*/[] 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 /*long*/ hKey, int /*long*/ lpClass, int[] lpcbClass, int /*long*/ lpReserved, int[] lpSubKeys, int[] lpcbMaxSubKeyLen, int[] lpcbMaxClassLen, int[] lpcValues, int[] lpcbMaxValueNameLen, int[] lpcbMaxValueLen, int[] lpcbSecurityDescriptor, int /*long*/ 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 /*long*/ hKey, TCHAR lpValueName, int /*long*/ 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 /*long*/ hKey, TCHAR lpValueName, int /*long*/ 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 /*long*/ RemoveProp (int /*long*/ hWnd, int /*long*/ lpString){
+ if (IsUnicode) return RemovePropW (hWnd, lpString);
+ return RemovePropA (hWnd, lpString);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ 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 /*long*/ SendMessage (int /*long*/ 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 /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SIZE lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ [] wParam, int /*long*/ lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int [] lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, char [] lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, short [] lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LITEM lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVCOLUMN lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVHITTESTINFO lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVITEM lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, MARGINS lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, POINT lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, MCHITTESTINFO lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, REBARBANDINFO lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, RECT lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SYSTEMTIME lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SHDRAGIMAGE lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TBBUTTON lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TBBUTTONINFO lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TCITEM lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TCHITTESTINFO lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TOOLINFO lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVHITTESTINFO lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVINSERTSTRUCT lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVITEM lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVSORTCB lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, UDACCEL lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDHITTESTINFO lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDITEM lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDLAYOUT lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int /*long*/ SendMessage (int /*long*/ hWnd, int Msg, int /*long*/ wParam, BUTTON_IMAGELIST lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final boolean SetMenuItemInfo (int /*long*/ 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 /*long*/ hWnd, int /*long*/ lpString, int /*long*/ hData) {
+ if (IsUnicode) return SetPropW (hWnd, lpString, hData);
+ return SetPropA (hWnd, lpString, hData);
+}
+
+public static final int SetWindowLong (int /*long*/ hWnd, int nIndex, int dwNewLong) {
+ if (IsUnicode) return SetWindowLongW (hWnd, nIndex, dwNewLong);
+ return SetWindowLongA (hWnd, nIndex, dwNewLong);
+}
+
+public static final int /*long*/ SetWindowLongPtr (int /*long*/ hWnd, int nIndex, int /*long*/ dwNewLong) {
+ if (IsUnicode) return SetWindowLongPtrW (hWnd, nIndex, dwNewLong);
+ return SetWindowLongPtrA (hWnd, nIndex, dwNewLong);
+}
+
+public static final int /*long*/ SetWindowsHookEx (int idHook, int /*long*/ lpfn, int /*long*/ hMod, int dwThreadId) {
+ if (IsUnicode) return SetWindowsHookExW (idHook, lpfn, hMod, dwThreadId);
+ return SetWindowsHookExA (idHook, lpfn, hMod, dwThreadId);
+}
+
+public static final boolean SetWindowText (int /*long*/ 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 /*long*/ 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 int /*long*/ SHGetFileInfo (TCHAR pszPath, int dwFileAttributes, SHFILEINFO psfi, int cbFileInfo, int uFlags) {
+ if (IsUnicode) {
+ char [] pszPath1 = pszPath == null ? null : pszPath.chars;
+ return SHGetFileInfoW (pszPath1, dwFileAttributes, (SHFILEINFOW) psfi, cbFileInfo, uFlags);
+ }
+ byte [] pszPath1 = pszPath == null ? null : pszPath.bytes;
+ return SHGetFileInfoA (pszPath1, dwFileAttributes, (SHFILEINFOA) psfi, cbFileInfo, uFlags);
+}
+
+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 /*long*/ 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 /*long*/ 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 /*long*/ hWnd, int /*long*/ hAccTable, MSG lpMsg) {
+ if (IsUnicode) return TranslateAcceleratorW (hWnd, hAccTable, lpMsg);
+ return TranslateAcceleratorA (hWnd, hAccTable, lpMsg);
+}
+
+public static final boolean UnregisterClass (TCHAR lpClassName, int /*long*/ 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 */
+
+/** @param hdc cast=(HDC) */
+public static final native int AbortDoc (int /*long*/ hdc);
+/**
+ * @method flags=dynamic
+ * @param lpCookie cast=(ULONG_PTR*)
+ */
+public static final native boolean ActivateActCtx (int /*long*/ hActCtx, int /*long*/ [] lpCookie);
+/** @param hkl cast=(HKL) */
+public static final native int /*long*/ ActivateKeyboardLayout(int /*long*/ hkl, int Flags);
+/** @method flags=dynamic */
+public static final native int AddFontResourceExW(char[] lpszFilename, int fl, int /*long*/ pdv);
+/** @method flags=dynamic */
+public static final native int AddFontResourceExA(byte[] lpszFilename, int fl, int /*long*/ pdv);
+public static final native boolean AdjustWindowRectEx (RECT lpRect, int dwStyle, boolean bMenu, int dwExStyle);
+/** @method flags=dynamic */
+public static final native boolean AllowSetForegroundWindow (int dwProcessId);
+/**
+ * @method flags=dynamic
+ * @param blendFunction flags=struct
+ */
+public static final native boolean AlphaBlend(int /*long*/ hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, int /*long*/ hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, BLENDFUNCTION blendFunction);
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ */
+public static final native boolean AnimateWindow(int /*long*/ hwnd, int dwTime, int dwFlags);
+/** @param hdc cast=(HDC) */
+public static final native boolean Arc (int /*long*/ hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc);
+/** @method flags=dynamic */
+public static final native int AssocQueryStringA(int flags, int str, byte[] pszAssoc, byte[] pszExtra, byte[] pszOut, int[] pcchOut);
+/** @method flags=dynamic */
+public static final native int AssocQueryStringW(int flags, int str, char[] pszAssoc, char[] pszExtra, char[] pszOut, int[] pcchOut);
+/**
+ * @param idAttach cast=(DWORD)
+ * @param idAttachTo cast=(DWORD)
+ */
+public static final native boolean AttachThreadInput (int idAttach, int idAttachTo, boolean fAttach);
+/**
+ * @method flags=dynamic
+ * @param hdcTarget cast=(HDC)
+ * @param phdc cast=(HDC*)
+ */
+public static final native int /*long*/ BeginBufferedPaint (int /*long*/ hdcTarget, RECT prcTarget, int dwFormat, BP_PAINTPARAMS pPaintParams, int /*long*/ [] phdc);
+public static final native int /*long*/ BeginDeferWindowPos (int nNumWindows);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ BeginPaint (int /*long*/ hWnd, PAINTSTRUCT lpPaint);
+/** @param hdc cast=(HDC) */
+public static final native boolean BeginPath(int /*long*/ hdc);
+/**
+ * @param hdcDest cast=(HDC)
+ * @param hdcSrc cast=(HDC)
+ */
+public static final native boolean BitBlt (int /*long*/ hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, int /*long*/ hdcSrc, int nXSrc, int nYSrc, int dwRop);
+/** @param hWnd cast=(HWND) */
+public static final native boolean BringWindowToTop (int /*long*/ hWnd);
+/** @method flags=dynamic */
+public static final native int BufferedPaintInit ();
+/**
+ * @method flags=dynamic
+ * @param hBufferedPaint cast=(HPAINTBUFFER)
+ */
+public static final native int BufferedPaintSetAlpha (int /*long*/ hBufferedPaint, RECT prc, byte alpha);
+/** @method flags=dynamic */
+public static final native int BufferedPaintUnInit ();
+/** @param address cast=(DLLGETVERSIONPROC) */
+public static final native int Call (int /*long*/ address, DLLVERSIONINFO arg0);
+/**
+ * @param hhk cast=(HHOOK)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ CallNextHookEx(int /*long*/ hhk, int nCode, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param lpPrevWndFunc cast=(WNDPROC)
+ * @param hWnd cast=(HWND)
+ */
+public static final native int /*long*/ CallWindowProcW (int /*long*/ lpPrevWndFunc, int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param lpPrevWndFunc cast=(WNDPROC)
+ * @param hWnd cast=(HWND)
+ */
+public static final native int /*long*/ CallWindowProcA (int /*long*/ lpPrevWndFunc, int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/** @param ch cast=(LPWSTR) */
+public static final native int /*long*/ CharLowerW (int /*long*/ ch);
+/** @param ch cast=(LPSTR) */
+public static final native int /*long*/ CharLowerA (int /*long*/ ch);
+/** @param ch cast=(LPWSTR) */
+public static final native int /*long*/ CharUpperW (int /*long*/ ch);
+/** @param ch cast=(LPSTR) */
+public static final native int /*long*/ CharUpperA (int /*long*/ ch);
+/**
+ * @param hmenu cast=(HMENU)
+ * @param uIDCheckItem cast=(UINT)
+ * @param uCheck cast=(UINT)
+ */
+public static final native boolean CheckMenuItem (int /*long*/ hmenu, int uIDCheckItem, int uCheck);
+/** @param lpcc cast=(LPCHOOSECOLORW) */
+public static final native boolean ChooseColorW (CHOOSECOLOR lpcc);
+public static final native boolean ChooseColorA (CHOOSECOLOR lpcc);
+/** @param chooseFont cast=(LPCHOOSEFONTW) */
+public static final native boolean ChooseFontW (CHOOSEFONT chooseFont);
+public static final native boolean ChooseFontA (CHOOSEFONT chooseFont);
+/** @param hWnd cast=(HWND) */
+public static final native boolean ClientToScreen (int /*long*/ hWnd, POINT lpPoint);
+public static final native boolean CloseClipboard ();
+/** @param hdc cast=(HDC) */
+public static final native int /*long*/ CloseEnhMetaFile (int /*long*/ hdc);
+/** @param hObject cast=(HANDLE) */
+public static final native boolean CloseHandle (int /*long*/ hObject);
+/**
+ * @method flags=dynamic
+ * @param hTheme cast=(HTHEME)
+ */
+public static final native int CloseThemeData (int /*long*/ hTheme);
+/**
+ * @param rclsid cast=(REFCLSID)
+ * @param pUnkOuter cast=(LPUNKNOWN)
+ * @param riid cast=(REFIID)
+ * @param ppv cast=(LPVOID *)
+ */
+public static final native int CoCreateInstance (byte[] rclsid, int /*long*/ pUnkOuter, int dwClsContext, byte[] riid, int /*long*/[] ppv);
+/** @method flags=dynamic */
+public static final native int CoInternetIsFeatureEnabled (int FeatureEntry, int dwFlags);
+/**
+ * @method flags=dynamic
+ * @param fEnable cast=(BOOL)
+ */
+public static final native int CoInternetSetFeatureEnabled (int FeatureEntry, int dwFlags, boolean fEnable);
+/**
+ * @param hrgnDest cast=(HRGN)
+ * @param hrgnSrc1 cast=(HRGN)
+ * @param hrgnSrc2 cast=(HRGN)
+ */
+public static final native int CombineRgn (int /*long*/ hrgnDest, int /*long*/ hrgnSrc1, int /*long*/ hrgnSrc2, int fnCombineMode);
+/** @param hwndCB cast=(HWND) */
+public static final native boolean CommandBar_AddAdornments (int /*long*/ hwndCB, int dwFlags, int dwReserved);
+/**
+ * @param hInst cast=(HINSTANCE)
+ * @param hwndParent cast=(HWND)
+ */
+public static final native int /*long*/ CommandBar_Create (int /*long*/ hInst, int /*long*/ hwndParent, int idCmdBar);
+/** @param hwndCB cast=(HWND) */
+public static final native void CommandBar_Destroy (int /*long*/ hwndCB);
+/**
+ * @param hwndCB cast=(HWND)
+ * @param iButton cast=(WORD)
+ */
+public static final native boolean CommandBar_DrawMenuBar (int /*long*/ hwndCB, int iButton);
+/** @param hdnwCB cast=(HWND) */
+public static final native int CommandBar_Height (int /*long*/ hdnwCB);
+/**
+ * @param hwndCB cast=(HWND)
+ * @param hInst cast=(HINSTANCE)
+ * @param pszMenu cast=(LPTSTR)
+ * @param iButton cast=(WORD)
+ */
+public static final native boolean CommandBar_InsertMenubarEx (int /*long*/ hwndCB, int /*long*/ hInst, int /*long*/ pszMenu, int iButton);
+/**
+ * @param hwndCB cast=(HWND)
+ * @param fShow cast=(BOOL)
+ */
+public static final native boolean CommandBar_Show (int /*long*/ hwndCB, boolean fShow);
+public static final native int CommDlgExtendedError ();
+/** @param hImage cast=(HANDLE) */
+public static final native int /*long*/ CopyImage (int /*long*/ hImage, int uType, int cxDesired, int cyDesired, int fuFlags);
+/** @param lpaccl cast=(LPACCEL) */
+public static final native int /*long*/ CreateAcceleratorTableW (byte [] lpaccl, int cEntries);
+/** @param lpaccl cast=(LPACCEL) */
+public static final native int /*long*/ CreateAcceleratorTableA (byte [] lpaccl, int cEntries);
+/**
+ * @method flags=dynamic
+ * @param pActCtx flags=no_out
+ */
+public static final native int /*long*/ CreateActCtxW (ACTCTX pActCtx);
+/**
+ * @method flags=dynamic
+ * @param pActCtx flags=no_out
+ */
+public static final native int /*long*/ CreateActCtxA (ACTCTX pActCtx);
+/** @param lpvBits cast=(CONST VOID *),flags=no_out critical */
+public static final native int /*long*/ CreateBitmap (int nWidth, int nHeight, int cPlanes, int cBitsPerPel, byte [] lpvBits);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hBitmap cast=(HBITMAP)
+ */
+public static final native boolean CreateCaret (int /*long*/ hWnd, int /*long*/ hBitmap, int nWidth, int nHeight);
+/** @param hdc cast=(HDC) */
+public static final native int /*long*/ CreateCompatibleBitmap (int /*long*/ hdc, int nWidth, int nHeight);
+/** @param hdc cast=(HDC) */
+public static final native int /*long*/ CreateCompatibleDC (int /*long*/ hdc);
+/**
+ * @param hInst cast=(HINSTANCE)
+ * @param pvANDPlane cast=(CONST VOID *),flags=no_out critical
+ * @param pvXORPlane cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native int /*long*/ CreateCursor (int /*long*/ hInst, int xHotSpot, int yHotSpot, int nWidth, int nHeight, byte [] pvANDPlane, byte [] pvXORPlane);
+/**
+ * @param lpszDriver cast=(LPWSTR)
+ * @param lpszDevice cast=(LPWSTR)
+ * @param lpszOutput cast=(LPWSTR)
+ * @param lpInitData cast=(CONST DEVMODEW *)
+ */
+public static final native int /*long*/ CreateDCW (char [] lpszDriver, char [] lpszDevice, int /*long*/ lpszOutput, int /*long*/ lpInitData);
+/**
+ * @param lpszDriver cast=(LPSTR)
+ * @param lpszDevice cast=(LPSTR)
+ * @param lpszOutput cast=(LPSTR)
+ * @param lpInitData cast=(CONST DEVMODE *)
+ */
+public static final native int /*long*/ CreateDCA (byte [] lpszDriver, byte [] lpszDevice, int /*long*/ lpszOutput, int /*long*/ lpInitData);
+/**
+ * @param hdc cast=(HDC)
+ * @param pbmi cast=(BITMAPINFO *),flags=no_out critical
+ * @param ppvBits cast=(VOID **),flags=no_in critical
+ * @param hSection cast=(HANDLE)
+ */
+public static final native int /*long*/ CreateDIBSection(int /*long*/ hdc, byte[] pbmi, int iUsage, int /*long*/[] ppvBits, int /*long*/ hSection, int dwOffset);
+/**
+ * @param hdc cast=(HDC)
+ * @param pbmi cast=(BITMAPINFO *),flags=no_out critical
+ * @param ppvBits cast=(VOID **),flags=no_in critical
+ * @param hSection cast=(HANDLE)
+ */
+public static final native int /*long*/ CreateDIBSection(int /*long*/ hdc, int /*long*/ pbmi, int iUsage, int /*long*/[] ppvBits, int /*long*/ hSection, int dwOffset);
+/**
+ * @param hdcRef cast=(HDC)
+ * @param lpFilename cast=(LPCWSTR)
+ * @param lpDescription cast=(LPCWSTR)
+ */
+public static final native int /*long*/ CreateEnhMetaFileW(int /*long*/ hdcRef, char[] lpFilename, RECT lpRect, char[] lpDescription);
+/**
+ * @param hdcRef cast=(HDC)
+ * @param lpFilename cast=(LPCSTR)
+ * @param lpDescription cast=(LPCSTR)
+ */
+public static final native int /*long*/ CreateEnhMetaFileA(int /*long*/ hdcRef, byte[] lpFilename, RECT lpRect, byte[] lpDescription);
+/** @param lplf cast=(LPLOGFONTW) */
+public static final native int /*long*/ CreateFontIndirectW (int /*long*/ lplf);
+/** @param lplf cast=(LPLOGFONTA) */
+public static final native int /*long*/ CreateFontIndirectA (int /*long*/ lplf);
+/** @param lplf flags=no_out */
+public static final native int /*long*/ CreateFontIndirectW (LOGFONTW lplf);
+/** @param lplf flags=no_out */
+public static final native int /*long*/ CreateFontIndirectA (LOGFONTA lplf);
+/** @param lplf flags=no_out */
+public static final native int /*long*/ CreateIconIndirect (ICONINFO lplf);
+public static final native int /*long*/ CreateMenu ();
+/** @param logPalette cast=(LOGPALETTE *),flags=no_out critical */
+public static final native int /*long*/ CreatePalette (byte[] logPalette);
+/** @param hbmp cast=(HBITMAP) */
+public static final native int /*long*/ CreatePatternBrush (int /*long*/ hbmp);
+/** @param crColor cast=(COLORREF) */
+public static final native int /*long*/ CreatePen (int fnPenStyle, int nWidth, int crColor);
+/** @param lppt cast=(CONST POINT *) */
+public static final native int /*long*/ CreatePolygonRgn(int[] lppt, int cPoints, int fnPolyFillMode);
+public static final native int /*long*/ CreatePopupMenu ();
+/**
+ * @param lpApplicationName cast=(LPCWSTR)
+ * @param lpCommandLine cast=(LPWSTR)
+ * @param lpProcessAttributes cast=(LPSECURITY_ATTRIBUTES)
+ * @param lpThreadAttributes cast=(LPSECURITY_ATTRIBUTES)
+ * @param lpEnvironment cast=(LPVOID)
+ * @param lpCurrentDirectory cast=(LPWSTR)
+ * @param lpStartupInfo cast=(LPSTARTUPINFOW)
+ * @param lpProcessInformation cast=(LPPROCESS_INFORMATION)
+ */
+public static final native boolean CreateProcessW (int /*long*/ lpApplicationName, int /*long*/ lpCommandLine, int /*long*/ lpProcessAttributes, int /*long*/ lpThreadAttributes, boolean bInheritHandles, int dwCreationFlags, int /*long*/ lpEnvironment, int /*long*/ lpCurrentDirectory, STARTUPINFO lpStartupInfo, PROCESS_INFORMATION lpProcessInformation);
+/**
+ * @param lpApplicationName cast=(LPCSTR)
+ * @param lpCommandLine cast=(LPSTR)
+ * @param lpProcessAttributes cast=(LPSECURITY_ATTRIBUTES)
+ * @param lpThreadAttributes cast=(LPSECURITY_ATTRIBUTES)
+ * @param lpEnvironment cast=(LPVOID)
+ * @param lpCurrentDirectory cast=(LPSTR)
+ * @param lpStartupInfo cast=(LPSTARTUPINFOA)
+ * @param lpProcessInformation cast=(LPPROCESS_INFORMATION)
+ */
+public static final native boolean CreateProcessA (int /*long*/ lpApplicationName, int /*long*/ lpCommandLine, int /*long*/ lpProcessAttributes, int /*long*/ lpThreadAttributes, boolean bInheritHandles, int dwCreationFlags, int /*long*/ lpEnvironment, int /*long*/ lpCurrentDirectory, STARTUPINFO lpStartupInfo, PROCESS_INFORMATION lpProcessInformation);
+public static final native int /*long*/ CreateRectRgn (int left, int top, int right, int bottom);
+/** @param colorRef cast=(COLORREF) */
+public static final native int /*long*/ CreateSolidBrush (int colorRef);
+/**
+ * @param hGlobal cast=(HGLOBAL)
+ * @param fDeleteOnRelease cast=(BOOL)
+ * @param ppstm cast=(LPSTREAM *)
+ */
+public static final native int CreateStreamOnHGlobal(int /*long*/ hGlobal, boolean fDeleteOnRelease, int /*long*/[] ppstm);
+/**
+ * @param lpClassName cast=(LPWSTR)
+ * @param lpWindowName cast=(LPWSTR)
+ * @param hWndParent cast=(HWND)
+ * @param hMenu cast=(HMENU)
+ * @param hInstance cast=(HINSTANCE)
+ */
+public static final native int /*long*/ CreateWindowExW (int dwExStyle, char [] lpClassName, char [] lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int /*long*/ hWndParent, int /*long*/ hMenu, int /*long*/ hInstance, CREATESTRUCT lpParam);
+/**
+ * @param lpClassName cast=(LPSTR)
+ * @param hWndParent cast=(HWND)
+ * @param hMenu cast=(HMENU)
+ * @param hInstance cast=(HINSTANCE)
+ */
+public static final native int /*long*/ CreateWindowExA (int dwExStyle, byte [] lpClassName, byte [] lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int /*long*/ hWndParent, int /*long*/ hMenu, int /*long*/ hInstance, CREATESTRUCT lpParam);
+/**
+ * @param hWinPosInfo cast=(HDWP)
+ * @param hWnd cast=(HWND)
+ * @param hWndInsertAfter cast=(HWND)
+ */
+public static final native int /*long*/ DeferWindowPos (int /*long*/ hWinPosInfo, int /*long*/ hWnd, int /*long*/ hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ DefMDIChildProcW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ DefMDIChildProcA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hWndMDIClient cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ DefFrameProcW (int /*long*/ hWnd, int /*long*/ hWndMDIClient, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hWndMDIClient cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ DefFrameProcA (int /*long*/ hWnd, int /*long*/ hWndMDIClient, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ DefWindowProcW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ DefWindowProcA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/** @param hdc cast=(HDC) */
+public static final native boolean DeleteDC (int /*long*/ hdc);
+/** @param hemf cast=(HENHMETAFILE) */
+public static final native boolean DeleteEnhMetaFile (int /*long*/ hemf);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean DeleteMenu (int /*long*/ hMenu, int uPosition, int uFlags);
+/** @param hGdiObj cast=(HGDIOBJ) */
+public static final native boolean DeleteObject (int /*long*/ hGdiObj);
+/** @param hAccel cast=(HACCEL) */
+public static final native boolean DestroyAcceleratorTable (int /*long*/ hAccel);
+public static final native boolean DestroyCaret ();
+/** @param hCursor cast=(HCURSOR) */
+public static final native boolean DestroyCursor (int /*long*/ hCursor);
+/** @param hIcon cast=(HICON) */
+public static final native boolean DestroyIcon (int /*long*/ hIcon);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean DestroyMenu (int /*long*/ hMenu);
+/** @param hWnd cast=(HWND) */
+public static final native boolean DestroyWindow (int /*long*/ hWnd);
+public static final native int /*long*/ DispatchMessageW (MSG lpmsg);
+public static final native int /*long*/ DispatchMessageA (MSG lpmsg);
+/** @param hdc cast=(HDC) */
+public static final native boolean DPtoLP (int /*long*/ hdc, POINT lpPoints, int nCount);
+/**
+ * @param hwnd cast=(HWND)
+ * @param pt flags=struct
+ */
+public static final native boolean DragDetect (int /*long*/ hwnd, POINT pt);
+/** @param hDrop cast=(HDROP) */
+public static final native void DragFinish (int /*long*/ hDrop);
+/**
+ * @param hDrop cast=(HDROP)
+ * @param lpszFile cast=(LPTSTR)
+ */
+public static final native int DragQueryFileA (int /*long*/ hDrop, int iFile, byte[] lpszFile, int cch);
+/**
+ * @param hDrop cast=(HDROP)
+ * @param lpszFile cast=(LPWSTR)
+ */
+public static final native int DragQueryFileW (int /*long*/ hDrop, int iFile, char[] lpszFile, int cch);
+/** @param hwnd cast=(HWND) */
+public static final native boolean DrawAnimatedRects (int /*long*/ hwnd, int idAni, RECT lprcFrom, RECT lprcTo);
+/** @param hdc cast=(HDC) */
+public static final native boolean DrawEdge (int /*long*/ hdc, RECT qrc, int edge, int grfFlags);
+/** @param hDC cast=(HDC) */
+public static final native boolean DrawFocusRect (int /*long*/ hDC, RECT lpRect);
+/** @param hdc cast=(HDC) */
+public static final native boolean DrawFrameControl (int /*long*/ hdc, RECT lprc, int uType, int uState);
+/**
+ * @param hdc cast=(HDC)
+ * @param hIcon cast=(HICON)
+ * @param hbrFlickerFreeDraw cast=(HBRUSH)
+ */
+public static final native boolean DrawIconEx (int /*long*/ hdc, int xLeft, int yTop, int /*long*/ hIcon, int cxWidth, int cyWidth, int istepIfAniCur, int /*long*/ hbrFlickerFreeDraw, int diFlags);
+/** @param hWnd cast=(HWND) */
+public static final native boolean DrawMenuBar (int /*long*/ hWnd);
+/**
+ * @param hdc cast=(HDC)
+ * @param hbr cast=(HBRUSH)
+ * @param lpOutputFunc cast=(DRAWSTATEPROC)
+ * @param lData cast=(LPARAM)
+ * @param wData cast=(WPARAM)
+ */
+public static final native boolean DrawStateW (int /*long*/ hdc, int /*long*/ hbr, int /*long*/ lpOutputFunc, int /*long*/ lData, int /*long*/ wData, int x, int y, int cx, int cy, int fuFlags);
+/**
+ * @param hdc cast=(HDC)
+ * @param hbr cast=(HBRUSH)
+ * @param lpOutputFunc cast=(DRAWSTATEPROC)
+ * @param lData cast=(LPARAM)
+ * @param wData cast=(WPARAM)
+ */
+public static final native boolean DrawStateA (int /*long*/ hdc, int /*long*/ hbr, int /*long*/ lpOutputFunc, int /*long*/ lData, int /*long*/ wData, int x, int y, int cx, int cy, int fuFlags);
+/**
+ * @param hDC cast=(HDC)
+ * @param lpString cast=(LPWSTR),flags=no_out critical
+ */
+public static final native int DrawTextW (int /*long*/ hDC, char [] lpString, int nCount, RECT lpRect, int uFormat);
+/**
+ * @param hDC cast=(HDC)
+ * @param lpString cast=(LPSTR),flags=no_out critical
+ */
+public static final native int DrawTextA (int /*long*/ hDC, byte [] lpString, int nCount, RECT lpRect, int uFormat);
+/**
+ * @method flags=dynamic
+ * @param hTheme cast=(HTHEME)
+ * @param hdc cast=(HDC)
+ * @param pRect cast=(const RECT *)
+ * @param pClipRect cast=(const RECT *)
+ */
+public static final native int DrawThemeBackground (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, RECT pRect, RECT pClipRect);
+/** @method flags=dynamic */
+public static final native int DrawThemeEdge (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, RECT pDestRect, int uEdge, int uFlags, RECT pContentRect);
+/** @method flags=dynamic */
+public static final native int DrawThemeIcon (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, RECT pRect, int /*long*/ himl, int iImageIndex);
+/** @method flags=dynamic */
+public static final native int DrawThemeParentBackground (int /*long*/ hwnd, int /*long*/ hdc, RECT prc);
+/** @method flags=dynamic */
+public static final native int DrawThemeText (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, char[] pszText, int iCharCount, int dwTextFlags, int dwTextFlags2, RECT pRect);
+/**
+ * @method flags=dynamic
+ * @param hWnd cast=(HWND)
+ */
+public static final native int DwmEnableBlurBehindWindow (int /*long*/ hWnd, DWM_BLURBEHIND pBlurBehind);
+/**
+ * @method flags=dynamic
+ * @param hWnd cast=(HWND)
+ */
+public static final native int DwmExtendFrameIntoClientArea (int /*long*/ hWnd, MARGINS pMarInset);
+/** @param hdc cast=(HDC) */
+public static final native boolean Ellipse (int /*long*/ hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean EnableMenuItem (int /*long*/ hMenu, int uIDEnableItem, int uEnable);
+/** @param hWnd cast=(HWND) */
+public static final native boolean EnableScrollBar (int /*long*/ hWnd, int wSBflags, int wArrows);
+/** @param hWnd cast=(HWND) */
+public static final native boolean EnableWindow (int /*long*/ hWnd, boolean bEnable);
+/**
+ * @method flags=dynamic
+ * @param pLangGroupEnumProc cast=(LANGUAGEGROUP_ENUMPROCW)
+ * @param lParam cast=(LONG_PTR)
+ */
+public static final native boolean EnumSystemLanguageGroupsW(int /*long*/ pLangGroupEnumProc, int dwFlags, int /*long*/ lParam);
+/**
+ * @method flags=dynamic
+ * @param pLangGroupEnumProc cast=(LANGUAGEGROUP_ENUMPROCA)
+ * @param lParam cast=(LONG_PTR)
+ */
+public static final native boolean EnumSystemLanguageGroupsA(int /*long*/ pLangGroupEnumProc, int dwFlags, int /*long*/ lParam);
+/** @param lpLocaleEnumProc cast=(LOCALE_ENUMPROCW) */
+public static final native boolean EnumSystemLocalesW (int /*long*/ lpLocaleEnumProc, int dwFlags);
+/** @param lpLocaleEnumProc cast=(LOCALE_ENUMPROCA) */
+public static final native boolean EnumSystemLocalesA (int /*long*/ lpLocaleEnumProc, int dwFlags);
+/** @param hWinPosInfo cast=(HDWP) */
+public static final native boolean EndDeferWindowPos (int /*long*/ hWinPosInfo);
+/**
+ * @method flags=dynamic
+ * @param hBufferedPaint cast=(HPAINTBUFFER)
+ */
+public static final native int EndBufferedPaint (int /*long*/ hBufferedPaint, boolean fUpdateTarget);
+/** @param hdc cast=(HDC) */
+public static final native int EndDoc (int /*long*/ hdc);
+/** @param hdc cast=(HDC) */
+public static final native int EndPage (int /*long*/ hdc);
+/** @param hWnd cast=(HWND) */
+public static final native int EndPaint (int /*long*/ hWnd, PAINTSTRUCT lpPaint);
+/** @param hdc cast=(HDC) */
+public static final native boolean EndPath(int /*long*/ hdc);
+/**
+ * @method flags=dynamic
+ * @param hdc cast=(HDC)
+ * @param lprcClip cast=(LPCRECT)
+ * @param lpfnEnum cast=(MONITORENUMPROC)
+ * @param dwData cast=(LPARAM)
+ */
+public static final native boolean EnumDisplayMonitors (int /*long*/ hdc, RECT lprcClip, int /*long*/ lpfnEnum, int dwData);
+/**
+ * @param hdc cast=(HDC)
+ * @param hemf cast=(HENHMETAFILE)
+ * @param lpEnhMetaFunc cast=(ENHMFENUMPROC)
+ * @param lpData cast=(LPVOID)
+ */
+public static final native boolean EnumEnhMetaFile(int /*long*/ hdc, int /*long*/ hemf, int /*long*/ lpEnhMetaFunc, int /*long*/ lpData, RECT lpRect);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpszFamily cast=(LPCWSTR)
+ * @param lpEnumFontFamProc cast=(FONTENUMPROCW)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int EnumFontFamiliesW (int /*long*/ hdc, char [] lpszFamily, int /*long*/ lpEnumFontFamProc, int /*long*/ lParam);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpszFamily cast=(LPSTR)
+ * @param lpEnumFontFamProc cast=(FONTENUMPROC)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int EnumFontFamiliesA (int /*long*/ hdc, byte [] lpszFamily, int /*long*/ lpEnumFontFamProc, int /*long*/ lParam);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpLogfont cast=(LPLOGFONTW)
+ * @param lpEnumFontFamExProc cast=(FONTENUMPROCW)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int EnumFontFamiliesExW (int /*long*/ hdc, LOGFONTW lpLogfont, int /*long*/ lpEnumFontFamExProc, int /*long*/ lParam, int dwFlags);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpLogfont cast=(LPLOGFONTA)
+ * @param lpEnumFontFamExProc cast=(FONTENUMPROCA)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int EnumFontFamiliesExA (int /*long*/ hdc, LOGFONTA lpLogfont, int /*long*/ lpEnumFontFamExProc, int /*long*/ lParam, int dwFlags);
+/**
+ * @param lprc1 cast=(CONST RECT *),flags=no_out
+ * @param lprc2 cast=(CONST RECT *),flags=no_out
+ */
+public static final native boolean EqualRect (RECT lprc1, RECT lprc2);
+/**
+ * @param hSrcRgn1 cast=(HRGN)
+ * @param hSrcRgn2 cast=(HRGN)
+ */
+public static final native boolean EqualRgn (int /*long*/ hSrcRgn1, int /*long*/ hSrcRgn2);
+/** @param hdc cast=(HDC) */
+public static final native int ExcludeClipRect (int /*long*/ 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);
+/**
+ * @param lplb cast=(CONST LOGBRUSH *)
+ * @param lpStyle cast=(CONST DWORD *)
+ */
+public static final native int /*long*/ ExtCreatePen (int dwPenStyle, int dwWidth, LOGBRUSH lplb, int dwStyleCount, int[] lpStyle);
+/**
+ * @param lpXform cast=(XFORM *)
+ * @param lpRgnData cast=(CONST RGNDATA *)
+ */
+public static final native int /*long*/ ExtCreateRegion (float[] lpXform, int nCount, int[] lpRgnData);
+/**
+ * @param hdc cast=(HDC)
+ * @param lprc flags=no_out
+ * @param lpString cast=(LPWSTR),flags=no_out critical
+ * @param lpDx cast=(CONST INT *),flags=no_out critical
+ */
+public static final native boolean ExtTextOutW (int /*long*/ hdc, int X, int Y, int fuOptions, RECT lprc, char[] lpString, int cbCount, int[] lpDx);
+/**
+ * @param hdc cast=(HDC)
+ * @param lprc flags=no_out
+ * @param lpString cast=(LPSTR),flags=no_out critical
+ * @param lpDx cast=(CONST INT *),flags=no_out critical
+ */
+public static final native boolean ExtTextOutA (int /*long*/ hdc, int X, int Y, int fuOptions, RECT lprc, byte[] lpString, int cbCount, int[] lpDx);
+/**
+ * @param lpszFile cast=(LPWSTR)
+ * @param phiconLarge cast=(HICON FAR *)
+ * @param phiconSmall cast=(HICON FAR *)
+ */
+public static final native int ExtractIconExW (char [] lpszFile, int nIconIndex, int /*long*/ [] phiconLarge, int /*long*/ [] phiconSmall, int nIcons);
+/**
+ * @param lpszFile cast=(LPSTR)
+ * @param phiconLarge cast=(HICON FAR *)
+ * @param phiconSmall cast=(HICON FAR *)
+ */
+public static final native int ExtractIconExA (byte [] lpszFile, int nIconIndex, int /*long*/ [] phiconLarge, int /*long*/ [] phiconSmall, int nIcons);
+/**
+ * @param hDC cast=(HDC)
+ * @param lprc flags=no_out
+ * @param hbr cast=(HBRUSH)
+ */
+public static final native int FillRect (int /*long*/ hDC, RECT lprc, int /*long*/ hbr);
+/** @param hdc cast=(HDC) */
+public static final native boolean FillPath (int /*long*/ hdc);
+/**
+ * @param lpClassName cast=(LPSTR)
+ * @param lpWindowName cast=(LPSTR)
+ */
+public static final native int /*long*/ FindWindowA (byte [] lpClassName, byte [] lpWindowName);
+/**
+ * @param lpClassName cast=(LPWSTR)
+ * @param lpWindowName cast=(LPWSTR)
+ */
+public static final native int /*long*/ FindWindowW (char [] lpClassName, char [] lpWindowName);
+/**
+ * @param lpSource cast=(LPCVOID)
+ * @param lpBuffer cast=(LPSTR)
+ * @param Arguments cast=(va_list*)
+ */
+public static final native int FormatMessageA (int dwFlags, int /*long*/ lpSource, int dwMessageId, int dwLanguageId, int /*long*/ [] lpBuffer, int nSize, int /*long*/ Arguments);
+/**
+ * @param lpSource cast=(LPCVOID)
+ * @param lpBuffer cast=(LPWSTR)
+ * @param Arguments cast=(va_list*)
+ */
+public static final native int FormatMessageW (int dwFlags, int /*long*/ lpSource, int dwMessageId, int dwLanguageId, int /*long*/ [] lpBuffer, int nSize, int /*long*/ Arguments);
+/** @param hLibModule cast=(HMODULE) */
+public static final native boolean FreeLibrary (int /*long*/ hLibModule);
+/** @param dwLimit cast=(DWORD) */
+public static final native int GdiSetBatchLimit (int dwLimit);
+public static final native int GET_WHEEL_DELTA_WPARAM(int /*long*/ wParam);
+public static final native int GET_X_LPARAM(int /*long*/ lp);
+public static final native int GET_Y_LPARAM(int /*long*/ lp);
+public static final native int GetACP ();
+public static final native short GetAsyncKeyState (int nVirtKey);
+public static final native int /*long*/ GetActiveWindow ();
+/** @param hDC cast=(HDC) */
+public static final native int GetBkColor (int /*long*/ hDC);
+public static final native int /*long*/ GetCapture ();
+public static final native boolean GetCaretPos (POINT lpPoint);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpabc cast=(LPABC),flags=no_in critical
+ */
+public static final native boolean GetCharABCWidthsA (int /*long*/ hdc, int iFirstChar, int iLastChar, int [] lpabc);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpabc cast=(LPABC),flags=no_in critical
+ */
+public static final native boolean GetCharABCWidthsW (int /*long*/ hdc, int iFirstChar, int iLastChar, int [] lpabc);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpString cast=(LPWSTR),flags=no_out critical
+ * @param lpResults cast=(LPGCP_RESULTSW)
+ */
+public static final native int GetCharacterPlacementW (int /*long*/ hdc, char[] lpString, int nCount, int nMaxExtent, GCP_RESULTS lpResults, int dwFlags);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpString cast=(LPSTR),flags=no_out critical
+ */
+public static final native int GetCharacterPlacementA (int /*long*/ hdc, byte[] lpString, int nCount, int nMaxExtent, GCP_RESULTS lpResults, int dwFlags);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpBuffer cast=(LPINT),flags=no_in critical
+ */
+public static final native boolean GetCharWidthA (int /*long*/ hdc, int iFirstChar, int iLastChar, int [] lpBuffer);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpBuffer cast=(LPINT),flags=no_in critical
+ */
+public static final native boolean GetCharWidthW (int /*long*/ hdc, int iFirstChar, int iLastChar, int [] lpBuffer);
+/**
+ * @param hInstance cast=(HINSTANCE)
+ * @param lpClassName cast=(LPWSTR)
+ * @param lpWndClass cast=(LPWNDCLASSW)
+ */
+public static final native boolean GetClassInfoW (int /*long*/ hInstance, char [] lpClassName, WNDCLASS lpWndClass);
+/**
+ * @param hInstance cast=(HINSTANCE)
+ * @param lpClassName cast=(LPSTR)
+ */
+public static final native boolean GetClassInfoA (int /*long*/ hInstance, byte [] lpClassName, WNDCLASS lpWndClass);
+/** @param hWnd cast=(HWND) */
+public static final native int GetClassNameW (int /*long*/ hWnd, char [] lpClassName, int nMaxCount);
+/** @param hWnd cast=(HWND) */
+public static final native int GetClassNameA (int /*long*/ hWnd, byte [] lpClassName, int nMaxCount);
+/** @param hWnd cast=(HWND) */
+public static final native boolean GetClientRect (int /*long*/ hWnd, RECT lpRect);
+public static final native int /*long*/ GetClipboardData (int uFormat);
+public static final native int GetClipboardFormatNameA (int format, byte[] lpszFormatName, int cchMaxCount);
+/** @param lpszFormatName cast=(LPWSTR) */
+public static final native int GetClipboardFormatNameW (int format, char[] lpszFormatName, int cchMaxCount);
+/** @param hdc cast=(HDC) */
+public static final native int GetClipBox (int /*long*/ hdc, RECT lprc);
+/**
+ * @param hdc cast=(HDC)
+ * @param hrgn cast=(HRGN)
+ */
+public static final native int GetClipRgn (int /*long*/ hdc, int /*long*/ hrgn);
+/**
+ * @method flags=dynamic
+ * @param hwndCombo cast=(HWND)
+ */
+public static final native boolean GetComboBoxInfo (int /*long*/ hwndCombo, COMBOBOXINFO pcbi);
+/** @param hdc cast=(HDC) */
+public static final native int /*long*/ GetCurrentObject (int /*long*/ hdc, int uObjectType);
+public static final native int GetCurrentProcessId ();
+public static final native int GetCurrentThreadId ();
+public static final native int /*long*/ GetCursor ();
+public static final native boolean GetCursorPos (POINT lpPoint);
+/**
+ * @param Locale cast=(LCID)
+ * @param dwFlags cast=(DWORD)
+ * @param lpFormat cast=(LPWSTR)
+ * @param lpDateStr cast=(LPWSTR)
+ */
+public static final native int GetDateFormatW(int Locale, int dwFlags, SYSTEMTIME lpDate, char [] lpFormat, char [] lpDateStr, int cchDate);
+/**
+ * @param Locale cast=(LCID)
+ * @param dwFlags cast=(DWORD)
+ * @param lpFormat cast=(LPSTR)
+ * @param lpDateStr cast=(LPSTR)
+ */
+public static final native int GetDateFormatA(int Locale, int dwFlags, SYSTEMTIME lpDate, byte [] lpFormat, byte [] lpDateStr, int cchDate);
+/** @param hwnd cast=(HWND) */
+public static final native int /*long*/ GetDC (int /*long*/ hwnd);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hrgnClip cast=(HRGN)
+ */
+public static final native int /*long*/ GetDCEx (int /*long*/ hWnd, int /*long*/ hrgnClip, int flags);
+public static final native int /*long*/ GetDesktopWindow ();
+/** @param hdc cast=(HDC) */
+public static final native int GetDeviceCaps (int /*long*/ hdc, int nIndex);
+public static final native int GetDialogBaseUnits ();
+/**
+ * @param hdc cast=(HDC)
+ * @param pColors cast=(RGBQUAD *),flags=no_in critical
+ */
+public static final native int GetDIBColorTable (int /*long*/ hdc, int uStartIndex, int cEntries, byte[] pColors);
+/**
+ * @param hdc cast=(HDC)
+ * @param hbmp cast=(HBITMAP)
+ * @param lpvBits cast=(LPVOID)
+ * @param lpbi cast=(LPBITMAPINFO),flags=critical
+ */
+public static final native int GetDIBits (int /*long*/ hdc, int /*long*/ hbmp, int uStartScan, int cScanLines, int /*long*/ lpvBits, byte[] lpbi, int uUsage);
+/** @param hDlg cast=(HWND) */
+public static final native int /*long*/ GetDlgItem (int /*long*/ hDlg, int nIDDlgItem);
+public static final native int GetDoubleClickTime ();
+public static final native int /*long*/ GetFocus ();
+/** @param hdc cast=(HDC) */
+public static final native int GetFontLanguageInfo (int /*long*/ hdc);
+public static final native int /*long*/ GetForegroundWindow ();
+/** @param hdc cast=(HDC) */
+public static final native int GetGraphicsMode (int /*long*/ hdc);
+/**
+ * @param idThread cast=(DWORD)
+ * @param lpgui cast=(LPGUITHREADINFO)
+ */
+public static final native boolean GetGUIThreadInfo (int idThread, GUITHREADINFO lpgui);
+/**
+ * @param hIcon cast=(HICON)
+ * @param piconinfo flags=no_in
+ */
+public static final native boolean GetIconInfo (int /*long*/ hIcon, ICONINFO piconinfo);
+/** @param lpList cast=(HKL FAR *) */
+public static final native int GetKeyboardLayoutList (int nBuff, int /*long*/ [] lpList);
+public static final native int /*long*/ GetKeyboardLayout (int idThread);
+public static final native short GetKeyState (int nVirtKey);
+/** @param lpKeyState cast=(PBYTE) */
+public static final native boolean GetKeyboardState (byte [] lpKeyState);
+/** @param lpString cast=(LPWSTR) */
+public static final native int GetKeyNameTextW (int lParam, char [] lpString, int nSize);
+/** @param lpString cast=(LPSTR) */
+public static final native int GetKeyNameTextA (int lParam, byte [] lpString, int nSize);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ GetLastActivePopup (int /*long*/ hWnd);
+public static final native int GetLastError ();
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ */
+public static final native boolean GetLayeredWindowAttributes (int /*long*/ hwnd, int [] pcrKey, byte [] pbAlpha, int [] pdwFlags);
+/**
+ * @method flags=dynamic
+ * @param hdc cast=(HDC)
+ */
+public static final native int GetLayout (int /*long*/ hdc);
+/* returns the instance handle to the swt library */
+/** @method flags=no_gen */
+public static final native int /*long*/ GetLibraryHandle ();
+/** @param lpLCData cast=(LPWSTR) */
+public static final native int GetLocaleInfoW (int Locale, int LCType, char [] lpLCData, int cchData);
+/** @param lpLCData cast=(LPSTR) */
+public static final native int GetLocaleInfoA (int Locale, int LCType, byte [] lpLCData, int cchData);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ GetMenu (int /*long*/ hWnd);
+/** @method flags=dynamic */
+public static final native boolean GetMenuBarInfo (int /*long*/ hWnd, int idObject, int idItem, MENUBARINFO pmbi);
+/** @param hMenu cast=(HMENU) */
+public static final native int GetMenuDefaultItem (int /*long*/ hMenu, int fByPos, int gmdiFlags);
+/**
+ * @method flags=dynamic
+ * @param hmenu cast=(HMENU)
+ */
+public static final native boolean GetMenuInfo (int /*long*/ hmenu, MENUINFO lpcmi);
+/** @param hMenu cast=(HMENU) */
+public static final native int GetMenuItemCount (int /*long*/ hMenu);
+/**
+ * @param hMenu cast=(HMENU)
+ * @param lpmii cast=(LPMENUITEMINFOW)
+ */
+public static final native boolean GetMenuItemInfoW (int /*long*/ hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean GetMenuItemInfoA (int /*long*/ hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hMenu cast=(HMENU)
+ */
+public static final native boolean GetMenuItemRect (int /*long*/ hWnd, int /*long*/ hMenu, int uItem, RECT lprcItem);
+/** @param hWnd cast=(HWND) */
+public static final native boolean GetMessageW (MSG lpMsg, int /*long*/ hWnd, int wMsgFilterMin, int wMsgFilterMax);
+/** @param hWnd cast=(HWND) */
+public static final native boolean GetMessageA (MSG lpMsg, int /*long*/ hWnd, int wMsgFilterMin, int wMsgFilterMax);
+public static final native int GetMessagePos ();
+public static final native int GetMessageTime ();
+/**
+ * @param hdc cast=(HDC)
+ * @param hrgn cast=(HRGN)
+ */
+public static final native int GetMetaRgn (int /*long*/ hdc, int /*long*/ hrgn);
+/** @method flags=dynamic */
+public static final native int GetThemeColor (int /*long*/ hTheme, int iPartId, int iStateId, int iPropId, int[] pColor);
+/** @method flags=dynamic */
+public static final native int GetThemeTextExtent (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, char[] pszText, int iCharCount, int dwTextFlags, RECT pBoundingRect, RECT pExtentRect);
+/** @param hdc cast=(HDC) */
+public static final native int GetTextCharset (int /*long*/ hdc);
+public static final native int GetTickCount ();
+/** @param hdc cast=(HDC) */
+public static final native int GetMapMode (int /*long*/ hdc);
+/**
+ * @param hModule cast=(HMODULE)
+ * @param lpFilename cast=(LPWSTR)
+ */
+public static final native int GetModuleFileNameW (int /*long*/ hModule, char [] lpFilename, int inSize);
+/**
+ * @param hModule cast=(HMODULE)
+ * @param lpFilename cast=(LPSTR)
+ */
+public static final native int GetModuleFileNameA (int /*long*/ hModule, byte [] lpFilename, int inSize);
+/** @param lpModuleName cast=(LPWSTR) */
+public static final native int /*long*/ GetModuleHandleW (char [] lpModuleName);
+/** @param lpModuleName cast=(LPSTR) */
+public static final native int /*long*/ GetModuleHandleA (byte [] lpModuleName);
+/**
+ * @method flags=dynamic
+ * @param hmonitor cast=(HMONITOR)
+ * @param lpmi cast=(LPMONITORINFO)
+ */
+public static final native boolean GetMonitorInfoW (int /*long*/ hmonitor, MONITORINFO lpmi);
+/**
+ * @method flags=dynamic
+ * @param hmonitor cast=(HMONITOR)
+ * @param lpmi cast=(LPMONITORINFO)
+ */
+public static final native boolean GetMonitorInfoA (int /*long*/ hmonitor, MONITORINFO lpmi);
+/**
+ * @param hPal cast=(HPALETTE)
+ * @param crColor cast=(COLORREF)
+ */
+public static final native int GetNearestPaletteIndex (int /*long*/ hPal, int crColor);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectA (int /*long*/ hgdiobj, int cbBuffer, BITMAP lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectW (int /*long*/ hgdiobj, int cbBuffer, BITMAP lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectA (int /*long*/ hgdiobj, int cbBuffer, DIBSECTION lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectW (int /*long*/ hgdiobj, int cbBuffer, DIBSECTION lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectA (int /*long*/ hgdiobj, int cbBuffer, EXTLOGPEN lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectW (int /*long*/ hgdiobj, int cbBuffer, EXTLOGPEN lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectA (int /*long*/ hgdiobj, int cbBuffer, LOGBRUSH lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectW (int /*long*/ hgdiobj, int cbBuffer, LOGBRUSH lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectA (int /*long*/ hgdiobj, int cbBuffer, LOGFONTA lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectW (int /*long*/ hgdiobj, int cbBuffer, LOGFONTW lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectA (int /*long*/ hgdiobj, int cbBuffer, LOGPEN lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject flags=no_in
+ */
+public static final native int GetObjectW (int /*long*/ hgdiobj, int cbBuffer, LOGPEN lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject cast=(LPVOID),flags=no_in
+ */
+public static final native int GetObjectA (int /*long*/ hgdiobj, int cbBuffer, int /*long*/ lpvObject);
+/**
+ * @param hgdiobj cast=(HGDIOBJ)
+ * @param lpvObject cast=(LPVOID),flags=no_in
+ */
+public static final native int GetObjectW (int /*long*/ hgdiobj, int cbBuffer, int /*long*/ lpvObject);
+/** @param lpofn cast=(LPOPENFILENAMEW) */
+public static final native boolean GetOpenFileNameW (OPENFILENAME lpofn);
+public static final native boolean GetOpenFileNameA (OPENFILENAME lpofn);
+/** @param hdc cast=(HDC) */
+public static final native int GetOutlineTextMetricsW (int /*long*/ hdc, int cbData, OUTLINETEXTMETRICW lpOTM);
+/** @param hdc cast=(HDC) */
+public static final native int GetOutlineTextMetricsA (int /*long*/ hdc, int cbData, OUTLINETEXTMETRICA lpOTM);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpPoints cast=(LPPOINT)
+ * @param lpTypes cast=(LPBYTE)
+ */
+public static final native int GetPath (int /*long*/ hdc, int[] lpPoints, byte[] lpTypes, int nSize);
+/**
+ * @param hPalette cast=(HPALETTE)
+ * @param logPalette cast=(LPPALETTEENTRY),flags=no_in critical
+ */
+public static final native int GetPaletteEntries (int /*long*/ hPalette, int iStartIndex, int nEntries, byte[] logPalette);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ GetParent (int /*long*/ hWnd);
+/** @param hdc cast=(HDC) */
+public static final native int GetPixel (int /*long*/ hdc, int x, int y);
+/** @param hdc cast=(HDC) */
+public static final native int GetPolyFillMode (int /*long*/ hdc);
+/**
+ * @param hModule cast=(HMODULE)
+ * @param lpProcName cast=(LPCTSTR)
+ */
+public static final native int /*long*/ GetProcAddress (int /*long*/ hModule, byte [] lpProcName);
+public static final native int /*long*/ GetProcessHeap ();
+/** @param ProcessHeaps cast=(PHANDLE) */
+public static final native int GetProcessHeaps (int NumberOfHeaps, int /*long*/[] ProcessHeaps);
+/**
+ * @param lpAppName cast=(LPWSTR)
+ * @param lpKeyName cast=(LPWSTR)
+ * @param lpDefault cast=(LPWSTR)
+ * @param lpReturnedString cast=(LPWSTR)
+ */
+public static final native int GetProfileStringW (char [] lpAppName, char [] lpKeyName, char [] lpDefault, char [] lpReturnedString, int nSize);
+/**
+ * @param lpAppName cast=(LPSTR)
+ * @param lpKeyName cast=(LPSTR)
+ * @param lpDefault cast=(LPSTR)
+ * @param lpReturnedString cast=(LPSTR)
+ */
+public static final native int GetProfileStringA (byte [] lpAppName, byte [] lpKeyName, byte [] lpDefault, byte [] lpReturnedString, int nSize);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPCWSTR)
+ */
+public static final native int /*long*/ GetPropW (int /*long*/ hWnd, int /*long*/ lpString);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPCTSTR)
+ */
+public static final native int /*long*/ GetPropA (int /*long*/ hWnd, int /*long*/ lpString);
+/**
+ * @param hdc cast=(HDC)
+ * @param hrgn cast=(HRGN)
+ */
+public static final native int GetRandomRgn (int /*long*/ hdc, int /*long*/ hrgn, int iNum);
+/**
+ * @param hRgn cast=(HRGN)
+ * @param lpRgnData cast=(RGNDATA *),flags=no_in critical
+ */
+public static final native int GetRegionData (int /*long*/ hRgn, int dwCount, int [] lpRgnData);
+/**
+ * @param hrgn cast=(HRGN)
+ * @param lprc flags=no_in
+ */
+public static final native int GetRgnBox (int /*long*/ hrgn, RECT lprc);
+/** @param hdc cast=(HDC) */
+public static final native int GetROP2 (int /*long*/ hdc);
+/** @param lpofn cast=(LPOPENFILENAMEW) */
+public static final native boolean GetSaveFileNameW (OPENFILENAME lpofn);
+public static final native boolean GetSaveFileNameA (OPENFILENAME lpofn);
+/** @param hwnd cast=(HWND) */
+public static final native boolean GetScrollBarInfo (int /*long*/ hwnd, int idObject, SCROLLBARINFO psbi);
+/** @param hwnd cast=(HWND) */
+public static final native boolean GetScrollInfo (int /*long*/ hwnd, int flags, SCROLLINFO info);
+/** @param lpStartupInfo cast=(LPSTARTUPINFOW) */
+public static final native void GetStartupInfoW (STARTUPINFO lpStartupInfo);
+/** @param lpStartupInfo cast=(LPSTARTUPINFOA) */
+public static final native void GetStartupInfoA (STARTUPINFO lpStartupInfo);
+public static final native int /*long*/ GetStockObject (int fnObject);
+public static final native int GetSysColor (int nIndex);
+public static final native int /*long*/ GetSysColorBrush (int nIndex);
+/** @method flags=dynamic */
+public static final native short GetSystemDefaultUILanguage ();
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ GetSystemMenu (int /*long*/ hWnd, boolean bRevert);
+public static final native int GetSystemMetrics (int nIndex);
+/**
+ * @param hdc cast=(HDC)
+ * @param iStartIndex cast=(UINT)
+ * @param nEntries cast=(UINT)
+ * @param lppe cast=(LPPALETTEENTRY),flags=no_in critical
+ */
+public static final native int GetSystemPaletteEntries (int /*long*/ hdc, int iStartIndex, int nEntries, byte[] lppe);
+/** @param hDC cast=(HDC) */
+public static final native int GetTextColor (int /*long*/ hDC);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpString cast=(LPWSTR),flags=no_out critical
+ * @param lpSize flags=no_in
+ */
+public static final native boolean GetTextExtentPoint32W (int /*long*/ hdc, char [] lpString, int cbString, SIZE lpSize);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpString cast=(LPSTR),flags=no_out critical
+ * @param lpSize flags=no_in
+ */
+public static final native boolean GetTextExtentPoint32A (int /*long*/ hdc, byte [] lpString, int cbString, SIZE lpSize);
+/**
+ * @param hdc cast=(HDC)
+ * @param lptm flags=no_in
+ */
+public static final native boolean GetTextMetricsW (int /*long*/ hdc, TEXTMETRICW lptm);
+/**
+ * @param hdc cast=(HDC)
+ * @param lptm flags=no_in
+ */
+public static final native boolean GetTextMetricsA (int /*long*/ hdc, TEXTMETRICA lptm);
+/** @method flags=dynamic */
+public static final native int GetThemeInt (int /*long*/ hTheme, int iPartId, int iStateId, int iPropId, int[] piVal);
+/** @method flags=dynamic */
+public static final native int GetThemeMargins (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, int iPropId, RECT prc, MARGINS pMargins);
+/** @method flags=dynamic */
+public static final native int GetThemeBackgroundContentRect (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, RECT pBoundingRect, RECT pContentRect);
+/**
+ * @method flags=dynamic
+ * @param pContentRect flags=no_out
+ */
+public static final native int GetThemeBackgroundExtent (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, RECT pContentRect, RECT pExtentRect);
+/** @method flags=dynamic */
+public static final native int GetThemePartSize (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, RECT prc, int eSize, SIZE psz);
+/** @method flags=dynamic */
+public static final native int GetThemeMetric (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, int iPropId, int[] piVal);
+/** @method flags=dynamic */
+public static final native int GetThemeRect (int /*long*/ hTheme, int iPartId, int iStateId, int iPropId, RECT pRect);
+/** @method flags=dynamic */
+public static final native int GetThemeSysSize (int /*long*/ hTheme, int iSizeID);
+/**
+ * @param Locale cast=(LCID)
+ * @param dwFlags cast=(DWORD)
+ * @param lpFormat cast=(LPWSTR)
+ * @param lpTimeStr cast=(LPWSTR)
+ */
+public static final native int GetTimeFormatW(int Locale, int dwFlags, SYSTEMTIME lpTime, char [] lpFormat, char [] lpTimeStr, int cchTime);
+/**
+ * @param Locale cast=(LCID)
+ * @param dwFlags cast=(DWORD)
+ * @param lpFormat cast=(LPSTR)
+ * @param lpTimeStr cast=(LPSTR)
+ */
+public static final native int GetTimeFormatA(int Locale, int dwFlags, SYSTEMTIME lpTime, byte [] lpFormat, byte [] lpTimeStr, int cchTime);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpRect cast=(LPRECT)
+ * @param bErase cast=(BOOL)
+ */
+public static final native boolean GetUpdateRect (int /*long*/ hWnd, RECT lpRect, boolean bErase);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hRgn cast=(HRGN)
+ */
+public static final native int GetUpdateRgn (int /*long*/ hWnd, int /*long*/ hRgn, boolean bErase);
+/** @param lpVersionInfo cast=(LPOSVERSIONINFOW) */
+public static final native boolean GetVersionExW (OSVERSIONINFOEXW lpVersionInfo);
+/** @param lpVersionInfo cast=(LPOSVERSIONINFOA) */
+public static final native boolean GetVersionExA (OSVERSIONINFOEXA lpVersionInfo);
+public static final native boolean GetVersionExW (OSVERSIONINFOW lpVersionInfo);
+public static final native boolean GetVersionExA (OSVERSIONINFOA lpVersionInfo);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ GetWindow (int /*long*/ hWnd, int uCmd);
+/** @param hWnd cast=(HWND) */
+public static final native int GetWindowLongW (int /*long*/ hWnd, int nIndex);
+/** @param hWnd cast=(HWND) */
+public static final native int GetWindowLongA (int /*long*/ hWnd, int nIndex);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ GetWindowLongPtrW (int /*long*/ hWnd, int nIndex);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ GetWindowLongPtrA (int /*long*/ hWnd, int nIndex);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ GetWindowDC (int /*long*/ hWnd);
+/** @param hdc cast=(HDC) */
+public static final native boolean GetWindowOrgEx (int /*long*/ hdc, POINT lpPoint);
+/** @param hWnd cast=(HWND) */
+public static final native boolean GetWindowPlacement (int /*long*/ hWnd, WINDOWPLACEMENT lpwndpl);
+/** @param hWnd cast=(HWND) */
+public static final native boolean GetWindowRect (int /*long*/ hWnd, RECT lpRect);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hRgn cast=(HRGN)
+ */
+public static final native int GetWindowRgn (int /*long*/ hWnd, int /*long*/ hRgn);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPWSTR)
+ */
+public static final native int GetWindowTextW (int /*long*/ hWnd, char [] lpString, int nMaxCount);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPSTR)
+ */
+public static final native int GetWindowTextA (int /*long*/ hWnd, byte [] lpString, int nMaxCount);
+/** @param hWnd cast=(HWND) */
+public static final native int GetWindowTextLengthW (int /*long*/ hWnd);
+/** @param hWnd cast=(HWND) */
+public static final native int GetWindowTextLengthA (int /*long*/ hWnd);
+/**
+ * @method flags=dynamic
+ * @param hWnd cast=(HWND)
+ */
+public static final native int /*long*/ GetWindowTheme (int /*long*/ hWnd);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpdwProcessId cast=(LPDWORD)
+ */
+public static final native int GetWindowThreadProcessId (int /*long*/ hWnd, int [] lpdwProcessId);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpXform cast=(LPXFORM)
+ */
+public static final native boolean GetWorldTransform (int /*long*/ hdc, float[] lpXform);
+/** @param lpString cast=(LPCWSTR) */
+public static final native int GlobalAddAtomW (char [] lpString);
+/** @param lpString cast=(LPCTSTR) */
+public static final native int GlobalAddAtomA (byte [] lpString);
+public static final native int /*long*/ GlobalAlloc (int uFlags, int dwBytes);
+/** @param hMem cast=(HANDLE) */
+public static final native int /*long*/ GlobalFree (int /*long*/ hMem);
+/** @param hMem cast=(HANDLE) */
+public static final native int /*long*/ GlobalLock (int /*long*/ hMem);
+/** @param hMem cast=(HANDLE) */
+public static final native int GlobalSize (int /*long*/ hMem);
+/** @param hMem cast=(HANDLE) */
+public static final native boolean GlobalUnlock (int /*long*/ hMem);
+/**
+ * @method flags=dynamic
+ * @param hdc cast=(HDC)
+ * @param pVertex cast=(PTRIVERTEX)
+ * @param dwNumVertex cast=(ULONG)
+ * @param pMesh cast=(PVOID)
+ * @param dwNumMesh cast=(ULONG)
+ * @param dwMode cast=(ULONG)
+ */
+public static final native boolean GradientFill (int /*long*/ hdc, int /*long*/ pVertex, int dwNumVertex, int /*long*/ pMesh, int dwNumMesh, int dwMode);
+public static final native int HIWORD(int /*long*/ l);
+/** @param hHeap cast=(HANDLE) */
+public static final native int /*long*/ HeapAlloc (int /*long*/ hHeap, int dwFlags, int dwBytes);
+/**
+ * @param hHeap cast=(HANDLE)
+ * @param lpMem cast=(LPVOID)
+ */
+public static final native boolean HeapFree (int /*long*/ hHeap, int dwFlags, int /*long*/ lpMem);
+/**
+ * @param hHeap cast=(HANDLE)
+ * @param lpMem cast=(LPCVOID)
+ */
+public static final native boolean HeapValidate (int /*long*/ hHeap, int dwFlags, int /*long*/ lpMem);
+/** @param hWnd cast=(HWND) */
+public static final native boolean HideCaret (int /*long*/ hWnd);
+/**
+ * @method flags=dynamic
+ * @param ptTest flags=struct
+ */
+public static final native int HitTestThemeBackground (int /*long*/ hTheme, int /*long*/ hdc, int iPartId, int iStateId, int dwOptions, RECT pRect, int /*long*/ hrgn, POINT ptTest, short[] pwHitTestCode);
+/**
+ * @param lpsz cast=(LPOLESTR)
+ * @param lpiid cast=(LPIID)
+ */
+public static final native int IIDFromString (char[] lpsz, byte[] lpiid);
+/**
+ * @param himl cast=(HIMAGELIST)
+ * @param hbmImage cast=(HBITMAP)
+ * @param hbmMask cast=(HBITMAP)
+ */
+public static final native int ImageList_Add (int /*long*/ himl, int /*long*/ hbmImage, int /*long*/ hbmMask);
+/**
+ * @param himl cast=(HIMAGELIST)
+ * @param hbmImage cast=(HBITMAP)
+ * @param crMask cast=(COLORREF)
+ */
+public static final native int ImageList_AddMasked (int /*long*/ himl, int /*long*/ hbmImage, int crMask);
+/** @param himl cast=(HIMAGELIST) */
+public static final native boolean ImageList_BeginDrag (int /*long*/ himl, int iTrack, int dxHotspot, int dyHotspot);
+public static final native int /*long*/ ImageList_Create (int cx, int cy, int flags, int cInitial, int cGrow);
+/** @param himl cast=(HIMAGELIST) */
+public static final native boolean ImageList_Destroy (int /*long*/ himl);
+/** @param hwndLock cast=(HWND) */
+public static final native boolean ImageList_DragEnter (int /*long*/ hwndLock, int x, int y);
+/** @param hwndLock cast=(HWND) */
+public static final native boolean ImageList_DragLeave (int /*long*/ hwndLock);
+public static final native boolean ImageList_DragMove (int x, int y);
+/** @param fShow cast=(BOOL) */
+public static final native boolean ImageList_DragShowNolock (boolean fShow);
+/**
+ * @param himl cast=(HIMAGELIST)
+ * @param hdcDst cast=(HDC)
+ * @param fStyle cast=(UINT)
+ */
+public static final native boolean ImageList_Draw (int /*long*/ himl, int i, int /*long*/ hdcDst, int x, int y, int fStyle);
+public static final native void ImageList_EndDrag ();
+/**
+ * @param ppt cast=(POINT *)
+ * @param pptHotspot cast=(POINT *)
+ */
+public static final native int /*long*/ ImageList_GetDragImage (POINT ppt, POINT pptHotspot);
+/** @param himl cast=(HIMAGELIST) */
+public static final native int /*long*/ ImageList_GetIcon (int /*long*/ himl, int i, int flags);
+/**
+ * @param himl cast=(HIMAGELIST)
+ * @param cx cast=(int *)
+ * @param cy cast=(int *)
+ */
+public static final native boolean ImageList_GetIconSize (int /*long*/ himl, int [] cx, int [] cy);
+/** @param himl cast=(HIMAGELIST) */
+public static final native int ImageList_GetImageCount (int /*long*/ himl);
+/** @param himl cast=(HIMAGELIST) */
+public static final native boolean ImageList_Remove (int /*long*/ himl, int i);
+/**
+ * @param himl cast=(HIMAGELIST)
+ * @param hbmImage cast=(HBITMAP)
+ * @param hbmMask cast=(HBITMAP)
+ */
+public static final native boolean ImageList_Replace (int /*long*/ himl, int i, int /*long*/ hbmImage, int /*long*/ hbmMask);
+/**
+ * @param himl cast=(HIMAGELIST)
+ * @param hicon cast=(HICON)
+ */
+public static final native int ImageList_ReplaceIcon (int /*long*/ himl, int i, int /*long*/ hicon);
+/** @param himl cast=(HIMAGELIST) */
+public static final native boolean ImageList_SetIconSize (int /*long*/ himl, int cx, int cy);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hIMC cast=(HIMC)
+ */
+public static final native int /*long*/ ImmAssociateContext (int /*long*/ hWnd, int /*long*/ hIMC);
+public static final native int /*long*/ ImmCreateContext ();
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmDestroyContext (int /*long*/ hIMC);
+/** @method flags=dynamic */
+public static final native boolean ImmDisableTextFrameService (int idThread);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmGetCompositionFontW (int /*long*/ hIMC, LOGFONTW lplf);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmGetCompositionFontA (int /*long*/ hIMC, LOGFONTA lplf);
+/**
+ * @param hIMC cast=(HIMC)
+ * @param lpBuf cast=(LPWSTR)
+ */
+public static final native int ImmGetCompositionStringW (int /*long*/ hIMC, int dwIndex, char [] lpBuf, int dwBufLen);
+/**
+ * @param hIMC cast=(HIMC)
+ * @param lpBuf cast=(LPSTR)
+ */
+public static final native int ImmGetCompositionStringA (int /*long*/ hIMC, int dwIndex, byte [] lpBuf, int dwBufLen);
+/**
+ * @param hIMC cast=(HIMC)
+ * @param lpBuf cast=(LPWSTR)
+ */
+public static final native int ImmGetCompositionStringW (int /*long*/ hIMC, int dwIndex, int [] lpBuf, int dwBufLen);
+/**
+ * @param hIMC cast=(HIMC)
+ * @param lpBuf cast=(LPWSTR)
+ */
+public static final native int ImmGetCompositionStringA (int /*long*/ hIMC, int dwIndex, int [] lpBuf, int dwBufLen);
+/**
+ * @param hIMC cast=(HIMC)
+ * @param lpBuf cast=(LPWSTR)
+ */
+public static final native int ImmGetCompositionStringW (int /*long*/ hIMC, int dwIndex, byte [] lpBuf, int dwBufLen);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ ImmGetContext (int /*long*/ hWnd);
+/**
+ * @param hIMC cast=(HIMC)
+ * @param lpfdwConversion cast=(LPDWORD)
+ * @param lpfdwSentence cast=(LPDWORD)
+ */
+public static final native boolean ImmGetConversionStatus (int /*long*/ hIMC, int [] lpfdwConversion, int [] lpfdwSentence);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ ImmGetDefaultIMEWnd (int /*long*/ hWnd);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmGetOpenStatus (int /*long*/ hIMC);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmNotifyIME (int /*long*/ hIMC, int dwAction, int dwIndex, int dwValue);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hIMC cast=(HIMC)
+ */
+public static final native boolean ImmReleaseContext (int /*long*/ hWnd, int /*long*/ hIMC);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmSetCompositionFontW (int /*long*/ hIMC, LOGFONTW lplf);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmSetCompositionFontA (int /*long*/ hIMC, LOGFONTA lplf);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmSetCompositionWindow (int /*long*/ hIMC, COMPOSITIONFORM lpCompForm);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmSetCandidateWindow (int /*long*/ hIMC, CANDIDATEFORM lpCandidate);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmSetConversionStatus (int /*long*/ hIMC, int fdwConversion, int dwSentence);
+/** @param hIMC cast=(HIMC) */
+public static final native boolean ImmSetOpenStatus (int /*long*/ hIMC, boolean fOpen);
+public static final native void InitCommonControls ();
+public static final native boolean InitCommonControlsEx (INITCOMMONCONTROLSEX lpInitCtrls);
+public static final native boolean InSendMessage ();
+/** @param hMenu cast=(HMENU) */
+public static final native boolean InsertMenuW (int /*long*/ hMenu, int uPosition, int uFlags, int /*long*/ uIDNewItem, char [] lpNewItem);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean InsertMenuA (int /*long*/ hMenu, int uPosition, int uFlags, int /*long*/ uIDNewItem, byte [] lpNewItem);
+/**
+ * @param hMenu cast=(HMENU)
+ * @param lpmii cast=(LPMENUITEMINFOW)
+ */
+public static final native boolean InsertMenuItemW (int /*long*/ hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean InsertMenuItemA (int /*long*/ hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
+/**
+ * @param lpszUrl cast=(LPCTSTR)
+ * @param lpszCookieName cast=(LPCTSTR)
+ * @param lpszCookieData cast=(LPSTR)
+ * @param lpdwSize cast=(LPDWORD)
+ */
+public static final native boolean InternetGetCookieA (byte[] lpszUrl, byte[] lpszCookieName, byte[] lpszCookieData, int[] lpdwSize);
+/**
+ * @param lpszUrl cast=(LPCWSTR)
+ * @param lpszCookieName cast=(LPCWSTR)
+ * @param lpszCookieData cast=(LPWSTR)
+ * @param lpdwSize cast=(LPDWORD)
+ */
+public static final native boolean InternetGetCookieW (char[] lpszUrl, char[] lpszCookieName, char[] lpszCookieData, int[] lpdwSize);
+/**
+ * @param lpszUrl cast=(LPCTSTR)
+ * @param lpszCookieName cast=(LPCTSTR)
+ * @param lpszCookieData cast=(LPCTSTR)
+ */
+public static final native boolean InternetSetCookieA (byte[] lpszUrl, byte[] lpszCookieName, byte[] lpszCookieData);
+/**
+ * @param lpszUrl cast=(LPCWSTR)
+ * @param lpszCookieName cast=(LPCWSTR)
+ * @param lpszCookieData cast=(LPCWSTR)
+ */
+public static final native boolean InternetSetCookieW (char[] lpszUrl, char[] lpszCookieName, char[] lpszCookieData);
+/**
+ * @param hInternet cast=(HINTERNET)
+ * @param lpBuffer cast=(LPVOID)
+ */
+public static final native boolean InternetSetOption (int /*long*/ hInternet, int dwOption, int /*long*/ lpBuffer, int dwBufferLength);
+/** @param hdc cast=(HDC) */
+public static final native int IntersectClipRect (int /*long*/ hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
+/**
+ * @param lprcDst flags=no_in
+ * @param lprcSrc1 flags=no_out
+ * @param lprcSrc2 flags=no_out
+ */
+public static final native boolean IntersectRect (RECT lprcDst, RECT lprcSrc1, RECT lprcSrc2);
+/** @param hWnd cast=(HWND) */
+public static final native boolean InvalidateRect (int /*long*/ hWnd, RECT lpRect, boolean bErase);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hRgn cast=(HRGN)
+ */
+public static final native boolean InvalidateRgn (int /*long*/ hWnd, int /*long*/ hRgn, boolean bErase);
+/** @method flags=dynamic */
+public static final native boolean IsAppThemed ();
+/**
+ * @param lp cast=(LPVOID)
+ * @param ucb cast=(UINT_PTR)
+ */
+public static final native boolean IsBadReadPtr (int /*long*/ lp, int ucb);
+/**
+ * @param lp cast=(LPVOID)
+ * @param ucb cast=(UINT_PTR)
+ */
+public static final native boolean IsBadWritePtr (int /*long*/ lp, int ucb);
+public static final native boolean IsDBCSLeadByte (byte TestChar);
+/**
+ * @method flags=dynamic
+ * @param hWnd cast=(HWND)
+ */
+public static final native boolean IsHungAppWindow (int /*long*/ hWnd);
+/** @param hWnd cast=(HWND) */
+public static final native boolean IsIconic (int /*long*/ hWnd);
+/** @method flags=no_gen */
+public static final native boolean IsPPC ();
+/** @method flags=no_gen */
+public static final native boolean IsSP ();
+/** @param hWnd cast=(HWND) */
+public static final native boolean IsWindowEnabled (int /*long*/ hWnd);
+/** @param hWnd cast=(HWND) */
+public static final native boolean IsWindowVisible (int /*long*/ hWnd);
+/** @param hWnd cast=(HWND) */
+public static final native boolean IsZoomed (int /*long*/ hWnd);
+/** @param hWnd cast=(HWND) */
+public static final native boolean KillTimer (int /*long*/ hWnd, int /*long*/ uIDEvent);
+/** @param hdc cast=(HDC) */
+public static final native boolean LineTo (int /*long*/ hdc, int x1, int x2);
+/**
+ * @param hInstance cast=(HINSTANCE)
+ * @param lpBitmapName cast=(LPWSTR)
+ */
+public static final native int /*long*/ LoadBitmapW (int /*long*/ hInstance, int /*long*/ lpBitmapName);
+/**
+ * @param hInstance cast=(HINSTANCE)
+ * @param lpBitmapName cast=(LPSTR)
+ */
+public static final native int /*long*/ LoadBitmapA (int /*long*/ hInstance, int /*long*/ lpBitmapName);
+/**
+ * @param hInstance cast=(HINSTANCE)
+ * @param lpCursorName cast=(LPWSTR)
+ */
+public static final native int /*long*/ LoadCursorW (int /*long*/ hInstance, int /*long*/ lpCursorName);
+/**
+ * @param hInstance cast=(HINSTANCE)
+ * @param lpCursorName cast=(LPSTR)
+ */
+public static final native int /*long*/ LoadCursorA (int /*long*/ hInstance, int /*long*/ lpCursorName);
+/**
+ * @param hInstance cast=(HINSTANCE)
+ * @param lpIconName cast=(LPWSTR)
+ */
+public static final native int /*long*/ LoadIconW (int /*long*/ hInstance, int /*long*/ lpIconName);
+/**
+ * @param hInstance cast=(HINSTANCE)
+ * @param lpIconName cast=(LPSTR)
+ */
+public static final native int /*long*/ LoadIconA (int /*long*/ hInstance, int /*long*/ lpIconName);
+/**
+ * @param hinst cast=(HINSTANCE)
+ * @param lpszName cast=(LPWSTR)
+ */
+public static final native int /*long*/ LoadImageW (int /*long*/ hinst, char [] lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);
+/**
+ * @param hinst cast=(HINSTANCE)
+ * @param lpszName cast=(LPSTR)
+ */
+public static final native int /*long*/ LoadImageA (int /*long*/ hinst, byte [] lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);
+/**
+ * @param hinst cast=(HINSTANCE)
+ * @param lpszName cast=(LPWSTR)
+ */
+public static final native int /*long*/ LoadImageW (int /*long*/ hinst, int /*long*/ lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);
+/**
+ * @param hinst cast=(HINSTANCE)
+ * @param lpszName cast=(LPSTR)
+ */
+public static final native int /*long*/ LoadImageA (int /*long*/ hinst, int /*long*/ lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);
+/**
+ * @param hinst cast=(HINSTANCE)
+ * @param lpBuffer cast=(LPWSTR)
+ */
+public static final native int LoadStringW (int /*long*/ hinst, int uID, char [] lpBuffer, int nBufferMax);
+/**
+ * @param hinst cast=(HINSTANCE)
+ * @param lpBuffer cast=(LPSTR)
+ */
+public static final native int LoadStringA (int /*long*/ hinst, int uID, byte [] lpBuffer, int nBufferMax);
+/** @param lpLibFileName cast=(LPWSTR) */
+public static final native int /*long*/ LoadLibraryW (char [] lpLibFileName);
+/** @param lpLibFileName cast=(LPSTR) */
+public static final native int /*long*/ LoadLibraryA (byte [] lpLibFileName);
+/** @param hMem cast=(HLOCAL) */
+public static final native int /*long*/ LocalFree (int /*long*/ hMem);
+/** @param hWndLock cast=(HWND) */
+public static final native boolean LockWindowUpdate (int /*long*/ hWndLock);
+public static final native int LOWORD (int /*long*/ l);
+/** @param hdc cast=(HDC) */
+public static final native boolean LPtoDP (int /*long*/ hdc, POINT lpPoints, int nCount);
+public static final native int MAKEWORD(int l, int h);
+public static final native int /*long*/ MAKEWPARAM(int l, int h);
+public static final native int /*long*/ MAKELPARAM(int l, int h);
+public static final native int /*long*/ MAKELRESULT(int l, int h);
+public static final native int MapVirtualKeyW (int uCode, int uMapType);
+public static final native int MapVirtualKeyA (int uCode, int uMapType);
+/**
+ * @param hWndFrom cast=(HWND)
+ * @param hWndTo cast=(HWND)
+ * @param lpPoints cast=(LPPOINT)
+ */
+public static final native int MapWindowPoints (int /*long*/ hWndFrom, int /*long*/ hWndTo, POINT lpPoints, int cPoints);
+/**
+ * @param hWndFrom cast=(HWND)
+ * @param hWndTo cast=(HWND)
+ * @param lpPoints cast=(LPPOINT)
+ */
+public static final native int MapWindowPoints (int /*long*/ hWndFrom, int /*long*/ hWndTo, RECT lpPoints, int cPoints);
+/** @method flags=dynamic */
+public static final native boolean MCIWndRegisterClass ();
+public static final native boolean MessageBeep (int uType);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpText cast=(LPWSTR)
+ * @param lpCaption cast=(LPWSTR)
+ */
+public static final native int MessageBoxW (int /*long*/ hWnd, char [] lpText, char [] lpCaption, int uType);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpText cast=(LPSTR)
+ * @param lpCaption cast=(LPSTR)
+ */
+public static final native int MessageBoxA (int /*long*/ hWnd, byte [] lpText, byte [] lpCaption, int uType);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpXform cast=(XFORM *)
+ */
+public static final native boolean ModifyWorldTransform(int /*long*/ hdc, float [] lpXform, int iMode);
+/** @method flags=dynamic */
+public static final native int /*long*/ MonitorFromWindow (int /*long*/ hwnd, int dwFlags);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (char[] Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (byte [] Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (byte [] Destination, ACCEL Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (byte [] Destination, BITMAPINFOHEADER Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (int [] Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (long [] Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (double[] Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (float[] Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in critical
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (short[] Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (int /*long*/ Destination, byte [] Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (int /*long*/ Destination, char [] Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (int /*long*/ Destination, int [] Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (int /*long*/ Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, DEVMODEW Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, DEVMODEA Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, DOCHOSTUIINFO Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, GRADIENT_RECT Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, LOGFONTW Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, LOGFONTA Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, MEASUREITEMSTRUCT Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, MINMAXINFO Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, MSG Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, UDACCEL Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, NMTTDISPINFOW Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, NMTTDISPINFOA Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (int /*long*/ Destination, OPENFILENAME Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, RECT Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, TRIVERTEX Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, WINDOWPOS Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (BITMAPINFOHEADER Destination, byte [] Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (BITMAPINFOHEADER Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (DEVMODEW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (DEVMODEA Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (DOCHOSTUIINFO Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (DRAWITEMSTRUCT Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (EXTLOGPEN Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (HDITEM Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (HELPINFO Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (LOGFONTW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (LOGFONTA Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (MEASUREITEMSTRUCT Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (MINMAXINFO Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (OFNOTIFY Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (OPENFILENAME Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (POINT Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (POINT Destination, long[] Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMHDR Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMRGINFO Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMCUSTOMDRAW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMLVCUSTOMDRAW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTBHOTITEM Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTREEVIEW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTVCUSTOMDRAW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTVITEMCHANGE Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMUPDOWN Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, NMLVCUSTOMDRAW Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, NMTVCUSTOMDRAW Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, NMTTCUSTOMDRAW Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, NMLVDISPINFO Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, NMTVDISPINFO Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMLVDISPINFO Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTVDISPINFO Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMLVFINDITEM Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMLVODSTATECHANGE Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMHEADER Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMLINK Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMLISTVIEW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMREBARCHILDSIZE Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMREBARCHEVRON Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTOOLBAR Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTTCUSTOMDRAW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTTDISPINFOW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (NMTTDISPINFOA Destination, int /*long*/ Source, int Length);
+public static final native void MoveMemory (RECT Destination, int /*long*/[] Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (SHDRAGIMAGE Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (EMR Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (EMREXTCREATEFONTINDIRECTW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, SHDRAGIMAGE Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (TEXTMETRICW Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (TEXTMETRICA Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (TVITEM Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (WINDOWPOS Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (MSG Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param Source cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (UDACCEL Destination, int /*long*/ Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, DROPFILES Source, int Length);
+/**
+ * @param DestinationPtr cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (int /*long*/ DestinationPtr, double[] Source, int Length);
+/**
+ * @param DestinationPtr cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (int /*long*/ DestinationPtr, float[] Source, int Length);
+/**
+ * @param DestinationPtr cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (int /*long*/ DestinationPtr, long[] Source, int Length);
+/**
+ * @param DestinationPtr cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out critical
+ */
+public static final native void MoveMemory (int /*long*/ DestinationPtr, short[] Source, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (SCRIPT_ITEM Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (SCRIPT_LOGATTR Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID),flags=no_in
+ * @param SourcePtr cast=(CONST VOID *)
+ */
+public static final native void MoveMemory (SCRIPT_PROPERTIES Destination, int /*long*/ SourcePtr, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, KEYBDINPUT Source, int Length);
+/**
+ * @param Destination cast=(PVOID)
+ * @param Source cast=(CONST VOID *),flags=no_out
+ */
+public static final native void MoveMemory (int /*long*/ Destination, MOUSEINPUT Source, int Length);
+/**
+ * @param hdc cast=(HDC)
+ * @param lPoint cast=(LPPOINT)
+ */
+public static final native boolean MoveToEx (int /*long*/ hdc, int x1, int x2, int /*long*/ lPoint);
+/**
+ * @param nCount cast=(DWORD)
+ * @param pHandles cast=(LPHANDLE)
+ * @param dwMilliseconds cast=(DWORD)
+ * @param dwWakeMask cast=(DWORD)
+ * @param dwFlags cast=(DWORD)
+ */
+public static final native int MsgWaitForMultipleObjectsEx (int nCount, int /*long*/ pHandles, int dwMilliseconds, int dwWakeMask, int dwFlags);
+/**
+ * @param lpMultiByteStr cast=(LPCSTR),flags=no_out critical
+ * @param lpWideCharStr cast=(LPWSTR),flags=no_in critical
+ */
+public static final native int MultiByteToWideChar (int CodePage, int dwFlags, byte [] lpMultiByteStr, int cchMultiByte, char [] lpWideCharStr, int cchWideChar);
+/**
+ * @param lpMultiByteStr cast=(LPCSTR)
+ * @param lpWideCharStr cast=(LPWSTR),flags=no_in critical
+ */
+public static final native int MultiByteToWideChar (int CodePage, int dwFlags, int /*long*/ lpMultiByteStr, int cchMultiByte, char [] lpWideCharStr, int cchWideChar);
+/**
+ * @method flags=dynamic
+ * @param event cast=(DWORD)
+ * @param hwnd cast=(HWND)
+ * @param idObject cast=(LONG)
+ * @param idChild cast=(LONG)
+ */
+public static final native void NotifyWinEvent (int event, int /*long*/ hwnd, int idObject, int idChild);
+public static final native boolean OffsetRect (RECT lprc, int dx, int dy);
+/** @param hrgn cast=(HRGN) */
+public static final native int OffsetRgn (int /*long*/ hrgn, int nXOffset, int nYOffset);
+/** @param pvReserved cast=(LPVOID) */
+public static final native int OleInitialize (int /*long*/ pvReserved);
+public static final native void OleUninitialize ();
+/** @param hWndNewOwner cast=(HWND) */
+public static final native boolean OpenClipboard (int /*long*/ hWndNewOwner);
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ * @param pszClassList cast=(LPCWSTR)
+ */
+public static final native int /*long*/ OpenThemeData (int /*long*/ hwnd, char[] pszClassList);
+/** @param hdc cast=(HDC) */
+public static final native boolean PatBlt (int /*long*/ hdc, int x1, int x2, int w, int h, int rop);
+/** @param hWnd cast=(HWND) */
+public static final native boolean PeekMessageW (MSG lpMsg, int /*long*/ hWnd, int wMsgFilterMin, int wMsgFilterMax, int wRemoveMsg);
+/** @param hWnd cast=(HWND) */
+public static final native boolean PeekMessageA (MSG lpMsg, int /*long*/ hWnd, int wMsgFilterMin, int wMsgFilterMax, int wRemoveMsg);
+/** @param hdc cast=(HDC) */
+public static final native boolean Pie (int /*long*/ hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc);
+/** @param pt flags=struct */
+public static final native void POINTSTOPOINT(POINT pt, int /*long*/ pts);
+/**
+ * @param hdc cast=(HDC)
+ * @param points cast=(CONST POINT *),flags=no_out critical
+ */
+public static final native boolean Polygon (int /*long*/ hdc, int [] points, int nPoints);
+/**
+ * @param hdc cast=(HDC)
+ * @param points cast=(CONST POINT *),flags=no_out critical
+ */
+public static final native boolean Polyline (int /*long*/ hdc, int[] points, int nPoints);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native boolean PostMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native boolean PostMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native boolean PostThreadMessageW (int idThread, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native boolean PostThreadMessageA (int idThread, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+public static final native short PRIMARYLANGID (int lgid);
+/** @param lppd cast=(LPPRINTDLGW) */
+public static final native boolean PrintDlgW (PRINTDLG lppd);
+public static final native boolean PrintDlgA (PRINTDLG lppd);
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ * @param hdcBlt cast=(HDC)
+ */
+public static final native boolean PrintWindow (int /*long*/ hwnd, int /*long*/ hdcBlt, int nFlags);
+/**
+ * @param rect flags=no_out
+ * @param pt flags=no_out struct
+ */
+public static final native boolean PtInRect (RECT rect, POINT pt);
+/** @param hrgn cast=(HRGN) */
+public static final native boolean PtInRegion (int /*long*/ hrgn, int X, int Y);
+/** @param hDC cast=(HDC) */
+public static final native int RealizePalette (int /*long*/ hDC);
+/** @param hdc cast=(HDC) */
+public static final native boolean Rectangle (int /*long*/ hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
+/**
+ * @param hrgn cast=(HRGN)
+ * @param lprc flags=no_out
+ */
+public static final native boolean RectInRegion (int /*long*/ hrgn, RECT lprc);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hrgnUpdate cast=(HRGN)
+ */
+public static final native boolean RedrawWindow (int /*long*/ hWnd, RECT lprcUpdate, int /*long*/ hrgnUpdate, int flags);
+/** @param hKey cast=(HKEY) */
+public static final native int RegCloseKey (int /*long*/ hKey);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpName cast=(LPWSTR)
+ * @param lpcName cast=(LPDWORD)
+ * @param lpReserved cast=(LPDWORD)
+ * @param lpClass cast=(LPWSTR)
+ * @param lpcClass cast=(LPDWORD)
+ */
+public static final native int RegEnumKeyExW (int /*long*/ hKey, int dwIndex, char [] lpName, int [] lpcName, int [] lpReserved, char [] lpClass, int [] lpcClass, FILETIME lpftLastWriteTime);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpName cast=(LPSTR)
+ * @param lpcName cast=(LPDWORD)
+ * @param lpReserved cast=(LPDWORD)
+ * @param lpClass cast=(LPSTR)
+ * @param lpcClass cast=(LPDWORD)
+ */
+public static final native int RegEnumKeyExA (int /*long*/ hKey, int dwIndex, byte [] lpName, int [] lpcName, int [] lpReserved, byte [] lpClass, int [] lpcClass, FILETIME lpftLastWriteTime);
+/** @param lpWndClass cast=(LPWNDCLASSW) */
+public static final native int RegisterClassW (WNDCLASS lpWndClass);
+public static final native int RegisterClassA (WNDCLASS lpWndClass);
+/** @param lpString cast=(LPWSTR) */
+public static final native int RegisterWindowMessageW (char [] lpString);
+/** @param lpString cast=(LPTSTR) */
+public static final native int RegisterWindowMessageA (byte [] lpString);
+/** @param lpszFormat cast=(LPTSTR) */
+public static final native int RegisterClipboardFormatA (byte[] lpszFormat);
+/** @param lpszFormat cast=(LPWSTR) */
+public static final native int RegisterClipboardFormatW (char[] lpszFormat);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpSubKey cast=(LPWSTR)
+ * @param phkResult cast=(PHKEY)
+ */
+public static final native int RegOpenKeyExW (int /*long*/ hKey, char[] lpSubKey, int ulOptions, int samDesired, int /*long*/[] phkResult);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpSubKey cast=(LPSTR)
+ * @param phkResult cast=(PHKEY)
+ */
+public static final native int RegOpenKeyExA (int /*long*/ hKey, byte[] lpSubKey, int ulOptions, int samDesired, int /*long*/[] phkResult);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpClass cast=(LPWSTR)
+ * @param lpcbClass cast=(LPDWORD)
+ * @param lpReserved cast=(LPDWORD)
+ * @param lpSubKeys cast=(LPDWORD)
+ * @param lpcbMaxSubKeyLen cast=(LPDWORD)
+ * @param lpcbMaxClassLen cast=(LPDWORD)
+ * @param lpcValues cast=(LPDWORD)
+ * @param lpcbMaxValueNameLen cast=(LPDWORD)
+ * @param lpcbMaxValueLen cast=(LPDWORD)
+ * @param lpcbSecurityDescriptor cast=(LPDWORD)
+ * @param lpftLastWriteTime cast=(PFILETIME)
+ */
+public static final native int RegQueryInfoKeyW (int /*long*/ hKey, int /*long*/ lpClass, int[] lpcbClass, int /*long*/ lpReserved, int[] lpSubKeys, int[] lpcbMaxSubKeyLen, int[] lpcbMaxClassLen, int[] lpcValues, int[] lpcbMaxValueNameLen, int[] lpcbMaxValueLen, int[] lpcbSecurityDescriptor, int /*long*/ lpftLastWriteTime);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpClass cast=(LPSTR)
+ * @param lpcbClass cast=(LPDWORD)
+ * @param lpReserved cast=(LPDWORD)
+ * @param lpSubKeys cast=(LPDWORD)
+ * @param lpcbMaxSubKeyLen cast=(LPDWORD)
+ * @param lpcbMaxClassLen cast=(LPDWORD)
+ * @param lpcValues cast=(LPDWORD)
+ * @param lpcbMaxValueNameLen cast=(LPDWORD)
+ * @param lpcbMaxValueLen cast=(LPDWORD)
+ * @param lpcbSecurityDescriptor cast=(LPDWORD)
+ * @param lpftLastWriteTime cast=(PFILETIME)
+ */
+public static final native int RegQueryInfoKeyA (int /*long*/ hKey, int /*long*/ lpClass, int[] lpcbClass, int /*long*/ lpReserved, int[] lpSubKeys, int[] lpcbMaxSubKeyLen, int[] lpcbMaxClassLen, int[] lpcValues, int[] lpcbMaxValueNameLen, int[] lpcbMaxValueLen, int[] lpcbSecurityDescriptor, int /*long*/ lpftLastWriteTime);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpValueName cast=(LPWSTR)
+ * @param lpReserved cast=(LPDWORD)
+ * @param lpType cast=(LPDWORD)
+ * @param lpData cast=(LPBYTE)
+ * @param lpcbData cast=(LPDWORD)
+ */
+public static final native int RegQueryValueExW (int /*long*/ hKey, char[] lpValueName, int /*long*/ lpReserved, int[] lpType, char [] lpData, int[] lpcbData);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpValueName cast=(LPWSTR)
+ * @param lpReserved cast=(LPDWORD)
+ * @param lpType cast=(LPDWORD)
+ * @param lpData cast=(LPBYTE)
+ * @param lpcbData cast=(LPDWORD)
+ */
+public static final native int RegQueryValueExW (int /*long*/ hKey, char[] lpValueName, int /*long*/ lpReserved, int[] lpType, int [] lpData, int[] lpcbData);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpValueName cast=(LPSTR)
+ * @param lpReserved cast=(LPDWORD)
+ * @param lpType cast=(LPDWORD)
+ * @param lpData cast=(LPBYTE)
+ * @param lpcbData cast=(LPDWORD)
+ */
+public static final native int RegQueryValueExA (int /*long*/ hKey, byte[] lpValueName, int /*long*/ lpReserved, int[] lpType, byte [] lpData, int[] lpcbData);
+/**
+ * @param hKey cast=(HKEY)
+ * @param lpValueName cast=(LPSTR)
+ * @param lpReserved cast=(LPDWORD)
+ * @param lpType cast=(LPDWORD)
+ * @param lpData cast=(LPBYTE)
+ * @param lpcbData cast=(LPDWORD)
+ */
+public static final native int RegQueryValueExA (int /*long*/ hKey, byte[] lpValueName, int /*long*/ lpReserved, int[] lpType, int [] lpData, int[] lpcbData);
+public static final native boolean ReleaseCapture ();
+/**
+ * @param hWnd cast=(HWND)
+ * @param hDC cast=(HDC)
+ */
+public static final native int ReleaseDC (int /*long*/ hWnd, int /*long*/ hDC);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean RemoveMenu (int /*long*/ hMenu, int uPosition, int uFlags);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPCTSTR)
+ */
+public static final native int /*long*/ RemovePropA (int /*long*/ hWnd, int /*long*/ lpString);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPCWSTR)
+ */
+public static final native int /*long*/ RemovePropW (int /*long*/ hWnd, int /*long*/ lpString);
+public static final native boolean ReplyMessage (int /*long*/ lResult);
+/**
+ * @param hdc cast=(HDC)
+ * @param nSavedDC cast=(int)
+ */
+public static final native boolean RestoreDC (int /*long*/ hdc, int nSavedDC);
+/** @param hdc cast=(HDC) */
+public static final native boolean RoundRect (int /*long*/ hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nWidth, int nHeight);
+/** @param hdc cast=(HDC) */
+public static final native int SaveDC (int /*long*/ hdc);
+/** @param hWnd cast=(HWND) */
+public static final native boolean ScreenToClient (int /*long*/ hWnd, POINT lpPoint);
+/**
+ * @param psds cast=(const SCRIPT_DIGITSUBSTITUTE*)
+ * @param psc cast=(SCRIPT_CONTROL*)
+ * @param pss cast=(SCRIPT_STATE*)
+ */
+public static final native int ScriptApplyDigitSubstitution (SCRIPT_DIGITSUBSTITUTE psds, SCRIPT_CONTROL psc, SCRIPT_STATE pss);
+/**
+ * @param pwcChars cast=(const WCHAR *)
+ * @param psa cast=(const SCRIPT_ANALYSIS *)
+ * @param psla cast=(SCRIPT_LOGATTR *)
+ */
+public static final native int ScriptBreak (char[] pwcChars, int cChars, SCRIPT_ANALYSIS psa, int /*long*/ psla);
+/**
+ * @param ppSp cast=(const SCRIPT_PROPERTIES ***)
+ * @param piNumScripts cast=(int *)
+ */
+public static final native int ScriptGetProperties (int /*long*/[] ppSp, int[] piNumScripts);
+/**
+ * @param hdc cast=(HDC)
+ * @param psc cast=(SCRIPT_CACHE *)
+ * @param tmHeight cast=(long *)
+ */
+public static final native int ScriptCacheGetHeight (int /*long*/ hdc, int /*long*/ psc, int[] tmHeight);
+/**
+ * @param pwLogClust cast=(const WORD *)
+ * @param psva cast=(const SCRIPT_VISATTR *)
+ * @param piAdvance cast=(const int *)
+ * @param psa cast=(const SCRIPT_ANALYSIS *)
+ * @param piX cast=(int *)
+ */
+public static final native int ScriptCPtoX (int iCP, boolean fTrailing, int cChars, int cGlyphs, int /*long*/ pwLogClust, int /*long*/ psva, int /*long*/ piAdvance, SCRIPT_ANALYSIS psa, int[] piX);
+/** @param psc cast=(SCRIPT_CACHE *) */
+public static final native int ScriptFreeCache (int /*long*/ psc);
+/**
+ * @param hdc cast=(HDC)
+ * @param psc cast=(SCRIPT_CACHE *)
+ * @param sfp cast=(SCRIPT_FONTPROPERTIES *)
+ */
+public static final native int ScriptGetFontProperties (int /*long*/ hdc, int /*long*/ psc, SCRIPT_FONTPROPERTIES sfp);
+/**
+ * @param psa cast=(const SCRIPT_ANALYSIS *)
+ * @param piGlyphWidth cast=(const int *)
+ * @param pwLogClust cast=(const WORD *)
+ * @param psva cast=(const SCRIPT_VISATTR *)
+ * @param piDx cast=(int *)
+ */
+public static final native int ScriptGetLogicalWidths (SCRIPT_ANALYSIS psa, int cChars, int cGlyphs, int /*long*/ piGlyphWidth, int /*long*/ pwLogClust, int /*long*/ psva, int[] piDx);
+/**
+ * @param pwcInChars cast=(const WCHAR *)
+ * @param psControl cast=(const SCRIPT_CONTROL *)
+ * @param psState cast=(const SCRIPT_STATE *)
+ * @param pItems cast=(SCRIPT_ITEM *)
+ * @param pcItems cast=(int *)
+ */
+public static final native int ScriptItemize (char[] pwcInChars, int cInChars, int cMaxItems, SCRIPT_CONTROL psControl, SCRIPT_STATE psState, int /*long*/ pItems, int[] pcItems);
+/**
+ * @param psva cast=(SCRIPT_VISATTR *)
+ * @param piAdvance cast=(const int *)
+ * @param piJustify cast=(int *)
+ */
+public static final native int ScriptJustify (int /*long*/ psva, int /*long*/ piAdvance, int cGlyphs, int iDx, int iMinKashida, int /*long*/ piJustify);
+/**
+ * @param pbLevel cast=(const BYTE *)
+ * @param piVisualToLogical cast=(int *)
+ * @param piLogicalToVisual cast=(int *)
+ */
+public static final native int ScriptLayout (int cRuns, byte[] pbLevel, int[] piVisualToLogical, int[] piLogicalToVisual);
+/**
+ * @param hdc cast=(HDC)
+ * @param psc cast=(SCRIPT_CACHE *)
+ * @param pwGlyphs cast=(const WORD *)
+ * @param psva cast=(const SCRIPT_VISATTR *)
+ * @param psa cast=(SCRIPT_ANALYSIS *)
+ * @param piAdvance cast=(int *)
+ * @param pGoffset cast=(GOFFSET *)
+ * @param pABC cast=(ABC *)
+ */
+public static final native int ScriptPlace (int /*long*/ hdc, int /*long*/ psc, int /*long*/ pwGlyphs, int cGlyphs, int /*long*/ psva, SCRIPT_ANALYSIS psa, int /*long*/ piAdvance, int /*long*/ pGoffset, int[] pABC);
+/**
+ * @param Locale cast=(LCID)
+ * @param psds cast=(SCRIPT_DIGITSUBSTITUTE*)
+ */
+public static final native int ScriptRecordDigitSubstitution (int Locale, SCRIPT_DIGITSUBSTITUTE psds);
+/**
+ * @param hdc cast=(HDC)
+ * @param psc cast=(SCRIPT_CACHE *)
+ * @param pwcChars cast=(const WCHAR *)
+ * @param pwOutGlyphs cast=(WORD*)
+ */
+public static final native int ScriptGetCMap (int /*long*/ hdc, int /*long*/ psc, char[] pwcChars, int cChars, int dwFlags, short[] pwOutGlyphs);
+/**
+ * @param hdc cast=(HDC)
+ * @param psc cast=(SCRIPT_CACHE *)
+ * @param pwcChars cast=(const WCHAR *)
+ * @param psa cast=(SCRIPT_ANALYSIS *)
+ * @param pwOutGlyphs cast=(WORD *)
+ * @param pwLogClust cast=(WORD *)
+ * @param psva cast=(SCRIPT_VISATTR *)
+ * @param pcGlyphs cast=(int *)
+ */
+public static final native int ScriptShape (int /*long*/ hdc, int /*long*/ psc, char[] pwcChars, int cChars, int cMaxGlyphs, SCRIPT_ANALYSIS psa, int /*long*/ pwOutGlyphs, int /*long*/ pwLogClust, int /*long*/ psva, int[] pcGlyphs);
+/**
+ * @param hdc cast=(HDC)
+ * @param pString cast=(const void*)
+ * @param piDx cast=(const int*)
+ * @param pTabdef cast=(SCRIPT_TABDEF*)
+ * @param pbInClass cast=(const BYTE*)
+ * @param pssa cast=(SCRIPT_STRING_ANALYSIS*)
+ */
+public static final native int ScriptStringAnalyse (int /*long*/ hdc, char[] pString, int cString, int cGlyphs, int iCharset, int dwFlags, int iReqWidth, SCRIPT_CONTROL psControl, SCRIPT_STATE psState, int /*long*/ piDx, int /*long*/ pTabdef, int /*long*/ pbInClass, int /*long*/ pssa);
+/** @param ssa cast=(SCRIPT_STRING_ANALYSIS*),flags=struct */
+public static final native int ScriptStringOut(int /*long*/ ssa, int iX, int iY, int uOptions, RECT prc, int iMinSel, int iMaxSel, boolean fDisabled);
+/** @param pssa cast=(SCRIPT_STRING_ANALYSIS*) */
+public static final native int ScriptStringFree(int /*long*/ pssa);
+/**
+ * @param hdc cast=(const HDC)
+ * @param psc cast=(SCRIPT_CACHE *)
+ * @param lprc cast=(const RECT *)
+ * @param psa cast=(const SCRIPT_ANALYSIS *)
+ * @param pwcReserved cast=(const WCHAR *)
+ * @param pwGlyphs cast=(const WORD *)
+ * @param piAdvance cast=(const int *)
+ * @param piJustify cast=(const int *)
+ * @param pGoffset cast=(const GOFFSET *)
+ */
+public static final native int ScriptTextOut (int /*long*/ hdc, int /*long*/ psc, int x, int y, int fuOptions, RECT lprc, SCRIPT_ANALYSIS psa, int /*long*/ pwcReserved, int iReserved, int /*long*/ pwGlyphs, int cGlyphs, int /*long*/ piAdvance, int /*long*/ piJustify, int /*long*/ pGoffset);
+/**
+ * @param pwLogClust cast=(const WORD *)
+ * @param psva cast=(const SCRIPT_VISATTR *)
+ * @param piAdvance cast=(const int *)
+ * @param psa cast=(const SCRIPT_ANALYSIS *)
+ * @param piCP cast=(int *)
+ * @param piTrailing cast=(int *)
+ */
+public static final native int ScriptXtoCP (int iX, int cChars, int cGlyphs, int /*long*/ pwLogClust, int /*long*/ psva, int /*long*/ piAdvance, SCRIPT_ANALYSIS psa, int[] piCP, int[] piTrailing);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hrgnUpdate cast=(HRGN)
+ */
+public static final native int ScrollWindowEx (int /*long*/ hWnd, int dx, int dy, RECT prcScroll, RECT prcClip, int /*long*/ hrgnUpdate, RECT prcUpdate, int flags);
+/**
+ * @param hdc cast=(HDC)
+ * @param hrgn cast=(HRGN)
+ */
+public static final native int SelectClipRgn (int /*long*/ hdc, int /*long*/ hrgn);
+/**
+ * @param hDC cast=(HDC)
+ * @param HGDIObj cast=(HGDIOBJ)
+ */
+public static final native int /*long*/ SelectObject (int /*long*/ hDC, int /*long*/ HGDIObj);
+/**
+ * @param hDC cast=(HDC)
+ * @param hpal cast=(HPALETTE)
+ */
+public static final native int /*long*/ SelectPalette (int /*long*/ hDC, int /*long*/ hpal, boolean bForceBackground);
+/** @param pInputs cast=(LPINPUT) */
+public static final native int SendInput (int nInputs, int /*long*/ pInputs, int cbSize);
+/**
+ * @method flags=no_gen
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int [] wParam, int [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ [] wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, char [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, short [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVCOLUMN lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, MARGINS lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, MCHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, POINT lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, REBARBANDINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, RECT lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SYSTEMTIME lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SHDRAGIMAGE lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TBBUTTON lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TBBUTTONINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TCITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TCHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TOOLINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVINSERTSTRUCT lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVSORTCB lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, UDACCEL lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDLAYOUT lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, BUTTON_IMAGELIST lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageW (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SIZE lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int [] wParam, int [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ [] wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, byte [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, short [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, char [] lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, int /*long*/ lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVCOLUMN lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, LVITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, MARGINS lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, MCHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, POINT lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, REBARBANDINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, RECT lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SYSTEMTIME lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SHDRAGIMAGE lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TBBUTTON lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TBBUTTONINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TCITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TCHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TOOLINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVINSERTSTRUCT lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, TVSORTCB lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, UDACCEL lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDHITTESTINFO lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDITEM lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, HDLAYOUT lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, BUTTON_IMAGELIST lParam);
+/**
+ * @param hWnd cast=(HWND)
+ * @param wParam cast=(WPARAM)
+ * @param lParam cast=(LPARAM)
+ */
+public static final native int /*long*/ SendMessageA (int /*long*/ hWnd, int Msg, int /*long*/ wParam, SIZE lParam);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ SetActiveWindow (int /*long*/ hWnd);
+/**
+ * @param hdc cast=(HDC)
+ * @param colorRef cast=(COLORREF)
+ */
+public static final native int SetBkColor (int /*long*/ hdc, int colorRef);
+/** @param hdc cast=(HDC) */
+public static final native int SetBkMode (int /*long*/ hdc, int mode);
+/**
+ * @param hdc cast=(HDC)
+ * @param lppt cast=(LPPOINT)
+ */
+public static final native boolean SetBrushOrgEx (int /*long*/ hdc, int nXOrg, int nYOrg, POINT lppt);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ SetCapture (int /*long*/ hWnd);
+public static final native boolean SetCaretPos (int X, int Y);
+/** @param hMem cast=(HANDLE) */
+public static final native int /*long*/ SetClipboardData (int uFormat, int /*long*/ hMem);
+/** @param hCursor cast=(HCURSOR) */
+public static final native int /*long*/ SetCursor (int /*long*/ hCursor);
+public static final native boolean SetCursorPos (int X, int Y);
+/**
+ * @param hdc cast=(HDC)
+ * @param pColors cast=(RGBQUAD *),flags=no_out critical
+ */
+public static final native int SetDIBColorTable (int /*long*/ hdc, int uStartIndex, int cEntries, byte[] pColors);
+public static final native int SetErrorMode (int uMode);
+/** @param hWnd cast=(HWND) */
+public static final native int /*long*/ SetFocus (int /*long*/ hWnd);
+/** @param hWnd cast=(HWND) */
+public static final native boolean SetForegroundWindow (int /*long*/ hWnd);
+/** @param hdc cast=(HDC) */
+public static final native int SetGraphicsMode (int /*long*/ hdc, int iMode);
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ */
+public static final native boolean SetLayeredWindowAttributes(int /*long*/ hwnd, int crKey, byte bAlpha, int dwFlags);
+/**
+ * @method flags=dynamic
+ * @param hdc cast=(HDC)
+ * @param dwLayout cast=(DWORD)
+ */
+public static final native int SetLayout (int /*long*/ hdc, int dwLayout);
+/** @param hdc cast=(HDC) */
+public static final native int SetMapMode (int /*long*/ hdc, int fnMapMode);
+/**
+ * @param hdc cast=(HDC)
+ * @param dwFlag cast=(DWORD)
+ */
+public static final native int SetMapperFlags (int /*long*/ hdc, int dwFlag);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hMenu cast=(HMENU)
+ */
+public static final native boolean SetMenu (int /*long*/ hWnd, int /*long*/ hMenu);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean SetMenuDefaultItem (int /*long*/ hMenu, int uItem, int fByPos);
+/**
+ * @method flags=dynamic
+ * @param hmenu cast=(HMENU)
+ */
+public static final native boolean SetMenuInfo (int /*long*/ hmenu, MENUINFO lpcmi);
+/**
+ * @param hMenu cast=(HMENU)
+ * @param lpmii cast=(LPMENUITEMINFOW)
+ */
+public static final native boolean SetMenuItemInfoW (int /*long*/ hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
+/** @param hMenu cast=(HMENU) */
+public static final native boolean SetMenuItemInfoA (int /*long*/ hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
+/** @param hdc cast=(HDC) */
+public static final native int SetMetaRgn (int /*long*/ hdc);
+/**
+ * @param hPal cast=(HPALETTE)
+ * @param lppe cast=(PALETTEENTRY *),flags=no_out critical
+ */
+public static final native int SetPaletteEntries (int /*long*/ hPal, int iStart, int cEntries, byte[] lppe);
+/**
+ * @param hWndChild cast=(HWND)
+ * @param hWndNewParent cast=(HWND)
+ */
+public static final native int /*long*/ SetParent (int /*long*/ hWndChild, int /*long*/ hWndNewParent);
+/** @param hdc cast=(HDC) */
+public static final native int SetPixel (int /*long*/ hdc, int X, int Y, int crColor);
+/** @param hdc cast=(HDC) */
+public static final native int SetPolyFillMode (int /*long*/ hdc, int iPolyFillMode);
+/** @method flags=dynamic */
+public static final native boolean SetProcessDPIAware ();
+/** @param lprc flags=no_in */
+public static final native boolean SetRect (RECT lprc, int xLeft, int yTop, int xRight, int yBottom);
+/** @param hrgn cast=(HRGN) */
+public static final native boolean SetRectRgn (int /*long*/ hrgn, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
+/** @param hdc cast=(HDC) */
+public static final native int SetROP2 (int /*long*/ hdc, int fnDrawMode);
+/** @param hwnd cast=(HWND) */
+public static final native boolean SetScrollInfo (int /*long*/ hwnd, int flags, SCROLLINFO info, boolean fRedraw);
+/** @param hdc cast=(HDC) */
+public static final native int SetStretchBltMode (int /*long*/ hdc, int iStretchMode);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPCWSTR)
+ * @param hData cast=(HANDLE)
+ */
+public static final native boolean SetPropW (int /*long*/ hWnd, int /*long*/ lpString, int /*long*/ hData);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPCTSTR)
+ * @param hData cast=(HANDLE)
+ */
+public static final native boolean SetPropA (int /*long*/ hWnd, int /*long*/ lpString, int /*long*/ hData);
+/** @param hdc cast=(HDC) */
+public static final native int SetTextAlign (int /*long*/ hdc, int fMode);
+/**
+ * @param hdc cast=(HDC)
+ * @param colorRef cast=(COLORREF)
+ */
+public static final native int SetTextColor (int /*long*/ hdc, int colorRef);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpTimerFunc cast=(TIMERPROC)
+ */
+public static final native int /*long*/ SetTimer (int /*long*/ hWnd, int /*long*/ nIDEvent, int Elapse, int /*long*/ lpTimerFunc);
+/** @param hdc cast=(HDC) */
+public static final native boolean SetViewportExtEx (int /*long*/ hdc, int nXExtent, int nYExtent, SIZE lpSize);
+/** @param hdc cast=(HDC) */
+public static final native boolean SetViewportOrgEx (int /*long*/ hdc, int X, int Y, POINT lpPoint);
+/** @param hWnd cast=(HWND) */
+public static final native int SetWindowLongW (int /*long*/ hWnd, int nIndex, int dwNewLong);
+/** @param hWnd cast=(HWND) */
+public static final native int SetWindowLongA (int /*long*/ hWnd, int nIndex, int dwNewLong);
+/**
+ * @param hWnd cast=(HWND)
+ * @param dwNewLong cast=(LONG_PTR)
+ */
+public static final native int /*long*/ SetWindowLongPtrW (int /*long*/ hWnd, int nIndex, int /*long*/ dwNewLong);
+/**
+ * @param hWnd cast=(HWND)
+ * @param dwNewLong cast=(LONG_PTR)
+ */
+public static final native int /*long*/ SetWindowLongPtrA (int /*long*/ hWnd, int nIndex, int /*long*/ dwNewLong);
+/** @param hdc cast=(HDC) */
+public static final native boolean SetWindowExtEx (int /*long*/ hdc, int nXExtent, int nYExtent, SIZE lpSize);
+/** @param hdc cast=(HDC) */
+public static final native boolean SetWindowOrgEx (int /*long*/ hdc, int X, int Y, POINT lpPoint);
+/** @param hWnd cast=(HWND) */
+public static final native boolean SetWindowPlacement (int /*long*/ hWnd, WINDOWPLACEMENT lpwndpl);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hWndInsertAfter cast=(HWND)
+ */
+public static final native boolean SetWindowPos(int /*long*/ hWnd, int /*long*/ hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hRgn cast=(HRGN)
+ */
+public static final native int SetWindowRgn (int /*long*/ hWnd, int /*long*/ hRgn, boolean bRedraw);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPWSTR)
+ */
+public static final native boolean SetWindowTextW (int /*long*/ hWnd, char [] lpString);
+/**
+ * @param hWnd cast=(HWND)
+ * @param lpString cast=(LPSTR)
+ */
+public static final native boolean SetWindowTextA (int /*long*/ hWnd, byte [] lpString);
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ * @param pszSubAppName cast=(LPCWSTR)
+ * @param pszSubIdList cast=(LPCWSTR)
+ */
+public static final native int SetWindowTheme (int /*long*/ hwnd, char [] pszSubAppName, char [] pszSubIdList);
+/**
+ * @param lpfn cast=(HOOKPROC)
+ * @param hMod cast=(HINSTANCE)
+ */
+public static final native int /*long*/ SetWindowsHookExW (int idHook, int /*long*/ lpfn, int /*long*/ hMod, int dwThreadId);
+/**
+ * @param lpfn cast=(HOOKPROC)
+ * @param hMod cast=(HINSTANCE)
+ */
+public static final native int /*long*/ SetWindowsHookExA (int idHook, int /*long*/ lpfn, int /*long*/ hMod, int dwThreadId);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpXform cast=(XFORM *)
+ */
+public static final native boolean SetWorldTransform(int /*long*/ hdc, float[] lpXform);
+/** @param lpbi cast=(LPBROWSEINFOW) */
+public static final native int /*long*/ SHBrowseForFolderW (BROWSEINFO lpbi);
+public static final native int /*long*/ SHBrowseForFolderA (BROWSEINFO lpbi);
+/** @param pmb cast=(PSHMENUBARINFO) */
+public static final native boolean SHCreateMenuBar (SHMENUBARINFO pmb);
+/**
+ * @param pszPath cast=(LPCWSTR)
+ * @param psfi cast=(SHFILEINFOW *)
+ */
+public static final native int /*long*/ SHGetFileInfoW (char [] pszPath, int dwFileAttributes, SHFILEINFOW psfi, int cbFileInfo, int uFlags);
+/**
+ * @param pszPath cast=(LPCSTR)
+ * @param psfi cast=(SHFILEINFOA *)
+ */
+public static final native int /*long*/ SHGetFileInfoA (byte [] pszPath, int dwFileAttributes, SHFILEINFOA psfi, int cbFileInfo, int uFlags);
+/** @param hwnd cast=(HWND) */
+public static final native boolean SHHandleWMSettingChange (int /*long*/ hwnd, int /*long*/ wParam, int /*long*/ lParam, SHACTIVATEINFO psai);
+public static final native int SHRecognizeGesture (SHRGINFO shrg);
+public static final native void SHSendBackToFocusWindow (int uMsg, int /*long*/ wp, int /*long*/ lp);
+/** @param hwnd cast=(HWND) */
+public static final native boolean SHSipPreference (int /*long*/ hwnd, int st);
+/** @param lpExecInfo cast=(LPSHELLEXECUTEINFOW) */
+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);
+/** @param ppMalloc cast=(LPMALLOC *) */
+public static final native int SHGetMalloc (int /*long*/ [] ppMalloc);
+/**
+ * @param pidl cast=(LPCITEMIDLIST)
+ * @param pszPath cast=(LPWSTR)
+ */
+public static final native boolean SHGetPathFromIDListW (int /*long*/ pidl, char [] pszPath);
+/**
+ * @param pidl cast=(LPCITEMIDLIST)
+ * @param pszPath cast=(LPSTR)
+ */
+public static final native boolean SHGetPathFromIDListA (int /*long*/ pidl, byte [] pszPath);
+/**
+ * @param bVk cast=(BYTE)
+ * @param hwnd cast=(HWND)
+ */
+public static final native boolean SHSetAppKeyWndAssoc (byte bVk, int /*long*/ hwnd);
+/** @param hWnd cast=(HWND) */
+public static final native boolean ShowCaret (int /*long*/ hWnd);
+public static final native int ShowCursor (boolean bShow);
+/** @param hWnd cast=(HWND) */
+public static final native boolean ShowOwnedPopups (int /*long*/ hWnd, boolean fShow);
+/** @param hWnd cast=(HWND) */
+public static final native boolean ShowScrollBar (int /*long*/ hWnd, int wBar, boolean bShow);
+/** @param hWnd cast=(HWND) */
+public static final native boolean ShowWindow (int /*long*/ hWnd, int nCmdShow);
+public static final native boolean SipGetInfo (SIPINFO pSipInfo);
+/**
+ * @param hdc cast=(HDC)
+ * @param lpdi cast=(LPDOCINFOW)
+ */
+public static final native int StartDocW (int /*long*/ hdc, DOCINFO lpdi);
+/** @param hdc cast=(HDC) */
+public static final native int StartDocA (int /*long*/ hdc, DOCINFO lpdi);
+/** @param hdc cast=(HDC) */
+public static final native int StartPage (int /*long*/ hdc);
+/**
+ * @param hdcDest cast=(HDC)
+ * @param hdcSrc cast=(HDC)
+ */
+public static final native boolean StretchBlt (int /*long*/ hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, int /*long*/ hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, int dwRop);
+/** @param hdc cast=(HDC) */
+public static final native boolean StrokePath (int /*long*/ 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);
+/**
+ * @param lpKeyState cast=(PBYTE)
+ * @param lpChar cast=(LPWORD)
+ */
+public static final native int ToAscii (int uVirtKey, int uScanCode, byte [] lpKeyState, short [] lpChar, int uFlags);
+/**
+ * @param lpKeyState cast=(PBYTE)
+ * @param pwszBuff cast=(LPWSTR)
+ */
+public static final native int ToUnicode (int wVirtKey, int wScanCode, byte [] lpKeyState, char [] pwszBuff, int cchBuff, int wFlags);
+/**
+ * @param hwndTV cast=(HWND)
+ * @param hitem cast=(HTREEITEM)
+ */
+public static final native boolean TreeView_GetItemRect (int /*long*/ hwndTV, int /*long*/ hitem, RECT prc, boolean fItemRect);
+public static final native boolean TrackMouseEvent (TRACKMOUSEEVENT lpEventTrack);
+/**
+ * @param hMenu cast=(HMENU)
+ * @param hWnd cast=(HWND)
+ */
+public static final native boolean TrackPopupMenu (int /*long*/ hMenu, int uFlags, int x, int y, int nReserved, int /*long*/ hWnd, RECT prcRect);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hAccTable cast=(HACCEL)
+ */
+public static final native int TranslateAcceleratorW (int /*long*/ hWnd, int /*long*/ hAccTable, MSG lpMsg);
+/**
+ * @param hWnd cast=(HWND)
+ * @param hAccTable cast=(HACCEL)
+ */
+public static final native int TranslateAcceleratorA (int /*long*/ hWnd, int /*long*/ hAccTable, MSG lpMsg);
+/**
+ * @param lpSrc cast=(DWORD *)
+ * @param lpCs cast=(LPCHARSETINFO)
+ */
+public static final native boolean TranslateCharsetInfo (int /*long*/ lpSrc, int [] lpCs, int dwFlags);
+/**
+ * @param hWndClient cast=(HWND)
+ * @param lpMsg cast=(LPMSG)
+ */
+public static final native boolean TranslateMDISysAccel (int /*long*/ hWndClient, MSG lpMsg);
+public static final native boolean TranslateMessage (MSG lpmsg);
+/** @method flags=dynamic */
+public static final native boolean TransparentBlt (int /*long*/ hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int hHeightDest, int /*long*/ hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, int crTransparent);
+/**
+ * @param hdcDest cast=(HDC)
+ * @param hSrc cast=(HANDLE)
+ * @param TransparentColor cast=(COLORREF)
+ */
+public static final native boolean TransparentImage (int /*long*/ hdcDest, int DstX, int DstY, int DstCx, int DstCy,int /*long*/ hSrc, int SrcX, int SrcY, int SrcCx, int SrcCy, int TransparentColor);
+/** @param hhk cast=(HHOOK) */
+public static final native boolean UnhookWindowsHookEx (int /*long*/ hhk);
+/**
+ * @param lpClassName cast=(LPWSTR)
+ * @param hInstance cast=(HINSTANCE)
+ */
+public static final native boolean UnregisterClassW (char [] lpClassName, int /*long*/ hInstance);
+/**
+ * @param lpClassName cast=(LPSTR)
+ * @param hInstance cast=(HINSTANCE)
+ */
+public static final native boolean UnregisterClassA (byte [] lpClassName, int /*long*/ hInstance);
+/**
+ * @method flags=dynamic
+ * @param hwnd cast=(HWND)
+ * @param hdcDst cast=(HDC)
+ * @param hdcSrc cast=(HDC)
+ * @param crKey cast=(COLORREF)
+ */
+public static final native boolean UpdateLayeredWindow (int /*long*/ hwnd, int /*long*/ hdcDst, POINT pptDst, SIZE psize, int /*long*/ hdcSrc, POINT pptSrc, int crKey, BLENDFUNCTION pblend, int dwFlags);
+/** @param hWnd cast=(HWND) */
+public static final native boolean UpdateWindow (int /*long*/ hWnd);
+/** @param hWnd cast=(HWND) */
+public static final native boolean ValidateRect (int /*long*/ hWnd, RECT lpRect);
+/** @param ch cast=(WCHAR) */
+public static final native short VkKeyScanW (short ch);
+/** @param ch cast=(TCHAR) */
+public static final native short VkKeyScanA (short ch);
+
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl);
+
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, int arg0);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, long arg0);
+
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, long[] arg3);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, int arg2, long[] arg3);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long[] arg3);
+
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int[] arg3, int[] arg4);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, short arg0, byte[] arg1, byte[] arg2, byte[] arg3);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, int[] arg0);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, long[] arg0);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int /*long*/[] arg1);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, int arg0, int /*long*/[] arg1, int[] arg2);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, TF_DISPLAYATTRIBUTE arg0);
+
+public static final native boolean WaitMessage ();
+/**
+ * @param lpWideCharStr cast=(LPCWSTR),flags=no_out critical
+ * @param lpMultiByteStr cast=(LPSTR),flags=no_in critical
+ * @param lpDefaultChar cast=(LPCSTR)
+ * @param lpUsedDefaultChar cast=(LPBOOL)
+ */
+public static final native int WideCharToMultiByte (int CodePage, int dwFlags, char [] lpWideCharStr, int cchWideChar, byte [] lpMultiByteStr, int cchMultiByte, byte [] lpDefaultChar, boolean [] lpUsedDefaultChar);
+/**
+ * @param lpWideCharStr cast=(LPCWSTR),flags=no_out critical
+ * @param lpMultiByteStr cast=(LPSTR)
+ * @param lpDefaultChar cast=(LPCSTR)
+ * @param lpUsedDefaultChar cast=(LPBOOL)
+ */
+public static final native int WideCharToMultiByte (int CodePage, int dwFlags, char [] lpWideCharStr, int cchWideChar, int /*long*/ lpMultiByteStr, int cchMultiByte, byte [] lpDefaultChar, boolean [] lpUsedDefaultChar);
+/** @param hDC cast=(HDC) */
+public static final native int /*long*/ WindowFromDC (int /*long*/ hDC);
+/** @param lpPoint flags=struct */
+public static final native int /*long*/ WindowFromPoint (POINT lpPoint);
+/** @param string cast=(const wchar_t *) */
+public static final native int wcslen (int /*long*/ 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
new file mode 100644
index 0000000000..e244b65e1a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFO.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * 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 OSVERSIONINFO {
+ public int dwOSVersionInfoSize;
+ public int dwMajorVersion;
+ public int dwMinorVersion;
+ public int dwBuildNumber;
+ public int dwPlatformId;
+ public static /*final*/ int sizeof = OS.IsUnicode ? OS.OSVERSIONINFOW_sizeof () : OS.OSVERSIONINFOA_sizeof ();
+}
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
new file mode 100644
index 0000000000..6d0a40f33e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOA.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 OSVERSIONINFOA extends OSVERSIONINFO {
+ public byte[] szCSDVersion = new byte[128];
+ public static final int sizeof = OS.OSVERSIONINFOA_sizeof ();
+}
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
new file mode 100644
index 0000000000..5d5e2e17c6
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEX.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * 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 ? OS.OSVERSIONINFOEXW_sizeof () : OS.OSVERSIONINFOEXA_sizeof ();
+}
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
new file mode 100644
index 0000000000..ef2e66778c
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXA.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 = OS.OSVERSIONINFOEXA_sizeof ();
+}
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
new file mode 100644
index 0000000000..43ae5d848f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXW.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 = OS.OSVERSIONINFOEXW_sizeof ();
+}
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
new file mode 100644
index 0000000000..82d063c45c
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOW.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 OSVERSIONINFOW extends OSVERSIONINFO {
+ public char[] szCSDVersion = new char[128];
+ public static final int sizeof = OS.OSVERSIONINFOW_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRIC.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRIC.java
new file mode 100644
index 0000000000..24a2578eb2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRIC.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class OUTLINETEXTMETRIC {
+ public int otmSize;
+ public byte otmFiller;
+ /** @field accessor=otmPanoseNumber.bFamilyType */
+ public byte otmPanoseNumber_bFamilyType;
+ /** @field accessor=otmPanoseNumber.bSerifStyle */
+ public byte otmPanoseNumber_bSerifStyle;
+ /** @field accessor=otmPanoseNumber.bWeight */
+ public byte otmPanoseNumber_bWeight;
+ /** @field accessor=otmPanoseNumber.bProportion */
+ public byte otmPanoseNumber_bProportion;
+ /** @field accessor=otmPanoseNumber.bContrast */
+ public byte otmPanoseNumber_bContrast;
+ /** @field accessor=otmPanoseNumber.bStrokeVariation */
+ public byte otmPanoseNumber_bStrokeVariation;
+ /** @field accessor=otmPanoseNumber.bArmStyle */
+ public byte otmPanoseNumber_bArmStyle;
+ /** @field accessor=otmPanoseNumber.bLetterform */
+ public byte otmPanoseNumber_bLetterform;
+ /** @field accessor=otmPanoseNumber.bMidline */
+ public byte otmPanoseNumber_bMidline;
+ /** @field accessor=otmPanoseNumber.bXHeight */
+ public byte otmPanoseNumber_bXHeight;
+ public int otmfsSelection;
+ public int otmfsType;
+ public int otmsCharSlopeRise;
+ public int otmsCharSlopeRun;
+ public int otmItalicAngle;
+ public int otmEMSquare;
+ public int otmAscent;
+ public int otmDescent;
+ public int otmLineGap;
+ public int otmsCapEmHeight;
+ public int otmsXHeight;
+ public RECT otmrcFontBox = new RECT();
+ public int otmMacAscent;
+ public int otmMacDescent;
+ public int otmMacLineGap;
+ public int otmusMinimumPPEM;
+ public POINT otmptSubscriptSize = new POINT();
+ public POINT otmptSubscriptOffset = new POINT();
+ public POINT otmptSuperscriptSize = new POINT();
+ public POINT otmptSuperscriptOffset = new POINT();
+ public int otmsStrikeoutSize;
+ public int otmsStrikeoutPosition;
+ public int otmsUnderscoreSize;
+ public int otmsUnderscorePosition;
+ /** @field cast=(PSTR) */
+ public int /*long*/ otmpFamilyName;
+ /** @field cast=(PSTR) */
+ public int /*long*/ otmpFaceName;
+ /** @field cast=(PSTR) */
+ public int /*long*/ otmpStyleName;
+ /** @field cast=(PSTR) */
+ public int /*long*/ otmpFullName;
+ public static final int sizeof = OS.IsUnicode ? OS.OUTLINETEXTMETRICW_sizeof (): OS.OUTLINETEXTMETRICA_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRICA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRICA.java
new file mode 100644
index 0000000000..988f86c02e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRICA.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class OUTLINETEXTMETRICA extends OUTLINETEXTMETRIC {
+ public TEXTMETRICA otmTextMetrics = new TEXTMETRICA ();
+ public static final int sizeof = OS.OUTLINETEXTMETRICA_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRICW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRICW.java
new file mode 100644
index 0000000000..5a9b7ce17a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OUTLINETEXTMETRICW.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class OUTLINETEXTMETRICW extends OUTLINETEXTMETRIC {
+ public TEXTMETRICW otmTextMetrics = new TEXTMETRICW ();
+ public static final int sizeof = OS.OUTLINETEXTMETRICW_sizeof ();
+}
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
new file mode 100644
index 0000000000..5173703c58
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PAINTSTRUCT.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class PAINTSTRUCT {
+ /** @field cast=(HDC) */
+ public int /*long*/ hdc;
+ public boolean fErase;
+// public RECT rcPaint;
+ /** @field accessor=rcPaint.left */
+ public int left;
+ /** @field accessor=rcPaint.top */
+ public int top;
+ /** @field accessor=rcPaint.right */
+ public int right;
+ /** @field accessor=rcPaint.bottom */
+ public int bottom;
+ public boolean fRestore;
+ public boolean fIncUpdate;
+ public byte[] rgbReserved = new byte[32];
+ public static final int sizeof = OS.PAINTSTRUCT_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PANOSE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PANOSE.java
new file mode 100644
index 0000000000..7afaa39e8e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PANOSE.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class PANOSE {
+ public byte bFamilyType;
+ public byte bSerifStyle;
+ public byte bWeight;
+ public byte bProportion;
+ public byte bContrast;
+ public byte bStrokeVariation;
+ public byte bArmStyle;
+ public byte bLetterform;
+ public byte bMidline;
+ public byte bXHeight;
+ public static final int sizeof = OS.PANOSE_sizeof ();
+}
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
new file mode 100644
index 0000000000..3eca4b3e9a
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/POINT.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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 POINT {
+ public int x;
+ public int y;
+ public static final int sizeof = OS.POINT_sizeof ();
+}
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
new file mode 100644
index 0000000000..21814d9488
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PRINTDLG.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class PRINTDLG {
+ public int lStructSize; // DWORD
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndOwner; // HWND
+ /** @field cast=(HGLOBAL) */
+ public int /*long*/ hDevMode; // HGLOBAL
+ /** @field cast=(HGLOBAL) */
+ public int /*long*/ hDevNames; // HGLOBAL
+ /** @field cast=(HDC) */
+ public int /*long*/ 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
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hInstance; // HINSTANCE
+ public int /*long*/ lCustData; // LPARAM
+ /** @field cast=(LPPRINTHOOKPROC) */
+ public int /*long*/ lpfnPrintHook; // LPPRINTHOOKPROC
+ /** @field cast=(LPPRINTHOOKPROC) */
+ public int /*long*/ lpfnSetupHook; // LPSETUPHOOKPROC
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpPrintTemplateName; // LPCTSTR
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpSetupTemplateName; // LPCTSTR
+ /** @field cast=(HGLOBAL) */
+ public int /*long*/ hPrintTemplate; // HGLOBAL
+ /** @field cast=(HGLOBAL) */
+ public int /*long*/ hSetupTemplate; // HGLOBAL
+ public static final int sizeof = OS.PRINTDLG_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PROCESS_INFORMATION.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PROCESS_INFORMATION.java
new file mode 100644
index 0000000000..0fdc8eddbe
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PROCESS_INFORMATION.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class PROCESS_INFORMATION {
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hProcess;
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hThread;
+ public int dwProcessId;
+ public int dwThreadId;
+ public static int sizeof = OS.PROCESS_INFORMATION_sizeof ();
+}
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
new file mode 100644
index 0000000000..d99d688dd1
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/REBARBANDINFO.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class REBARBANDINFO {
+ public int cbSize;
+ public int fMask;
+ public int fStyle;
+ public int clrFore;
+ public int clrBack;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpText;
+ public int cch;
+ public int iImage;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndChild;
+ public int cxMinChild;
+ public int cyMinChild;
+ public int cx;
+ /** @field cast=(HBITMAP) */
+ public int /*long*/ hbmBack;
+ public int wID;
+ public int cyChild;
+ public int cyMaxChild;
+ public int cyIntegral;
+ public int cxIdeal;
+ public int /*long*/ lParam;
+ /** @field flags=no_wince */
+ public int cxHeader;
+ /* Note in WinCE. The field cxHeader is not defined. */
+ public static final int sizeof = OS.REBARBANDINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..48d89cf0f3
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/RECT.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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 RECT {
+ public int left;
+ public int top;
+ public int right;
+ public int bottom;
+ public static final int sizeof = OS.RECT_sizeof ();
+}
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
new file mode 100644
index 0000000000..a997291c89
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ANALYSIS.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * 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_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 = OS.SCRIPT_ANALYSIS_sizeof ();
+}
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
new file mode 100644
index 0000000000..023a6763a0
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_CONTROL.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * 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_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 = OS.SCRIPT_CONTROL_sizeof ();
+}
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
new file mode 100644
index 0000000000..052341f189
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_DIGITSUBSTITUTE.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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 = OS.SCRIPT_DIGITSUBSTITUTE_sizeof ();
+}
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
new file mode 100644
index 0000000000..bfcedcbd85
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_FONTPROPERTIES.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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_FONTPROPERTIES {
+ public int cBytes;
+ public short wgBlank;
+ public short wgDefault;
+ public short wgInvalid;
+ public short wgKashida;
+ public int iKashidaWidth;
+ public static final int sizeof = OS.SCRIPT_FONTPROPERTIES_sizeof ();
+}
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
new file mode 100644
index 0000000000..f82ed5a65b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ITEM.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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_ITEM {
+ public int iCharPos;
+ public SCRIPT_ANALYSIS a = new SCRIPT_ANALYSIS();
+ public static final int sizeof = OS.SCRIPT_ITEM_sizeof ();
+}
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
new file mode 100644
index 0000000000..cd594776bd
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_LOGATTR.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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_LOGATTR {
+ public boolean fSoftBreak;
+ public boolean fWhiteSpace;
+ public boolean fCharStop;
+ public boolean fWordStop;
+ public boolean fInvalid;
+ public byte fReserved;
+ public static final int sizeof = OS.SCRIPT_LOGATTR_sizeof ();
+}
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
new file mode 100644
index 0000000000..a412e9e600
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_PROPERTIES.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * 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_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 = OS.SCRIPT_PROPERTIES_sizeof ();
+}
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
new file mode 100644
index 0000000000..f9765ea4bd
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_STATE.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * 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_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 = OS.SCRIPT_STATE_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLBARINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLBARINFO.java
new file mode 100644
index 0000000000..ae10c8a1ab
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLBARINFO.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class SCROLLBARINFO {
+ public int cbSize;
+ public RECT rcScrollBar = new RECT ();
+ public int dxyLineButton;
+ public int xyThumbTop;
+ public int xyThumbBottom;
+ public int reserved;
+ public int [] rgstate = new int [OS.CCHILDREN_SCROLLBAR + 1];
+ public static final int sizeof = OS.SCROLLBARINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..7587c0ecb6
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLINFO.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * 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 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 = OS.SCROLLINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..1b4da617f9
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHACTIVATEINFO.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class SHACTIVATEINFO {
+ public int cbSize;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndLastFocus;
+ public int fSipUp; // :1
+ public int fSipOnDeactivation; // :1
+ public int fActive; // :1
+ public int fReserved; // :29
+ public static final int sizeof = OS.SHACTIVATEINFO_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHDRAGIMAGE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHDRAGIMAGE.java
new file mode 100644
index 0000000000..440139f965
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHDRAGIMAGE.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public final class SHDRAGIMAGE {
+ public SIZE sizeDragImage = new SIZE ();
+ public POINT ptOffset = new POINT ();
+ /** @field cast=(HBITMAP) */
+ public int /*long*/ hbmpDragImage;
+ public int crColorKey;
+ public static final int sizeof = OS.SHDRAGIMAGE_sizeof ();
+}
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
new file mode 100644
index 0000000000..1b05aaac3c
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHELLEXECUTEINFO.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class SHELLEXECUTEINFO {
+ public int cbSize;
+ public int fMask;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwnd;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpVerb;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpFile;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpParameters;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpDirectory;
+ public int nShow;
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hInstApp;
+ // Optional members
+ /** @field cast=(LPVOID) */
+ public int /*long*/ lpIDList;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpClass;
+ /** @field cast=(HKEY) */
+ public int /*long*/ hkeyClass;
+ public int dwHotKey;
+// union {
+// HANDLE hIcon;
+// HANDLE hMonitor;
+// };
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hIcon;
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hProcess;
+ public static final int sizeof = OS.SHELLEXECUTEINFO_sizeof ();
+}
+
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFO.java
new file mode 100644
index 0000000000..ce92cf8763
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFO.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class SHFILEINFO {
+ /** @field cast=(HICON) */
+ public int /*long*/ hIcon;
+ public int iIcon;
+ public int dwAttributes;
+ public static int sizeof = OS.IsUnicode ? OS.SHFILEINFOW_sizeof (): OS.SHFILEINFOA_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFOA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFOA.java
new file mode 100644
index 0000000000..9b457f04cb
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFOA.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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 SHFILEINFOA extends SHFILEINFO {
+ public byte [] szDisplayName = new byte [OS.MAX_PATH];
+ public byte [] szTypeName = new byte [80];
+ public static int sizeof = OS.SHFILEINFOA_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFOW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFOW.java
new file mode 100644
index 0000000000..9379feebec
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHFILEINFOW.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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 SHFILEINFOW extends SHFILEINFO {
+ public char [] szDisplayName = new char [OS.MAX_PATH];
+ public char [] szTypeName = new char [80];
+ public static int sizeof = OS.SHFILEINFOW_sizeof ();
+}
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
new file mode 100644
index 0000000000..d91b1981bb
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHMENUBARINFO.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class SHMENUBARINFO {
+ public int cbSize;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndParent;
+ public int dwFlags;
+ public int nToolBarId;
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hInstRes;
+ public int nBmpId;
+ public int cBmpImages;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndMB;
+ public static final int sizeof = OS.IsSP ? 36 : OS.SHMENUBARINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..77619759ac
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHRGINFO.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class SHRGINFO {
+ public int cbSize;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndClient;
+// POINT ptDown
+ /** @field accessor=ptDown.x */
+ public int ptDown_x;
+ /** @field accessor=ptDown.y */
+ public int ptDown_y;
+ public int dwFlags;
+ public static final int sizeof = OS.SHRGINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..82a5804793
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIPINFO.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class SIPINFO {
+ public int cbSize;
+ public int fdwFlags;
+// RECT rcVisibleDesktop
+ /** @field accessor=rcVisibleDesktop.left */
+ public int rcVisibleDesktop_left;
+ /** @field accessor=rcVisibleDesktop.top */
+ public int rcVisibleDesktop_top;
+ /** @field accessor=rcVisibleDesktop.right */
+ public int rcVisibleDesktop_right;
+ /** @field accessor=rcVisibleDesktop.bottom */
+ public int rcVisibleDesktop_bottom;
+// RECT rcSipRect
+ /** @field accessor=rcSipRect.left */
+ public int rcSipRect_left;
+ /** @field accessor=rcSipRect.top */
+ public int rcSipRect_top;
+ /** @field accessor=rcSipRect.right */
+ public int rcSipRect_right;
+ /** @field accessor=rcSipRect.bottom */
+ public int rcSipRect_bottom;
+ public int dwImDataSize;
+ /** @field cast=(void *) */
+ public int /*long*/ pvImData;
+ public static final int sizeof = OS.SIPINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..dc3a37a298
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIZE.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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 SIZE {
+ public int cx;
+ public int cy;
+ public static final int sizeof = OS.SIZE_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/STARTUPINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/STARTUPINFO.java
new file mode 100644
index 0000000000..49e387d7d1
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/STARTUPINFO.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class STARTUPINFO {
+ public int cb;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpReserved;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpDesktop;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpTitle;
+ public int dwX;
+ public int dwY;
+ public int dwXSize;
+ public int dwYSize;
+ public int dwXCountChars;
+ public int dwYCountChars;
+ public int dwFillAttribute;
+ public int dwFlags;
+ public short wShowWindow;
+ public short cbReserved2;
+ /** @field cast=(LPBYTE) */
+ public int /*long*/ lpReserved2;
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hStdInput;
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hStdOutput;
+ /** @field cast=(HANDLE) */
+ public int /*long*/ hStdError;
+ public static int sizeof = OS.STARTUPINFO_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SYSTEMTIME.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SYSTEMTIME.java
new file mode 100644
index 0000000000..2a27dd452b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SYSTEMTIME.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * 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 SYSTEMTIME {
+ public short wYear;
+ public short wMonth;
+ public short wDayOfWeek;
+ public short wDay;
+ public short wHour;
+ public short wMinute;
+ public short wSecond;
+ public short wMilliseconds;
+ public static final int sizeof = OS.SYSTEMTIME_sizeof ();
+} \ No newline at end of file
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
new file mode 100644
index 0000000000..5e131f691d
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTON.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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 TBBUTTON {
+ public int iBitmap;
+ public int idCommand;
+ public byte fsState;
+ public byte fsStyle;
+ public int /*long*/ dwData;
+ public int /*long*/ iString;
+ public static final int sizeof = OS.TBBUTTON_sizeof ();
+}
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
new file mode 100644
index 0000000000..ea903b9611
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTONINFO.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.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 /*long*/ lParam;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ public int cchText;
+ public static final int sizeof = OS.TBBUTTONINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..8791ef2342
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.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>
+ *
+ * @jniclass flags=no_gen
+ */
+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/TCHITTESTINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHITTESTINFO.java
new file mode 100644
index 0000000000..70d6505f9b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHITTESTINFO.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TCHITTESTINFO {
+// POINT pt;
+ /** @field accessor=pt.x */
+ public int x;
+ /** @field accessor=pt.y */
+ public int y;
+ public int flags;
+ public static int sizeof = OS.TCHITTESTINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..52ca6d0bf7
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCITEM.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TCITEM {
+ public int mask;
+ public int dwState;
+ public int dwStateMask;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ public int cchTextMax;
+ public int iImage;
+ public int /*long*/ lParam;
+ public static final int sizeof = OS.TCITEM_sizeof ();
+}
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
new file mode 100644
index 0000000000..20b7a7b1f5
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRIC.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * 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 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 ? OS.TEXTMETRICW_sizeof(): OS.TEXTMETRICA_sizeof ();
+}
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
new file mode 100644
index 0000000000..3ab5fbfeb2
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICA.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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 TEXTMETRICA extends TEXTMETRIC {
+ public byte tmFirstChar;
+ public byte tmLastChar;
+ public byte tmDefaultChar;
+ public byte tmBreakChar;
+ public static final int sizeof = OS.TEXTMETRICA_sizeof ();
+}
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
new file mode 100644
index 0000000000..1f4a123384
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICW.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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 TEXTMETRICW extends TEXTMETRIC {
+ public char tmFirstChar;
+ public char tmLastChar;
+ public char tmDefaultChar;
+ public char tmBreakChar;
+ public static final int sizeof = OS.TEXTMETRICW_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TF_DA_COLOR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TF_DA_COLOR.java
new file mode 100644
index 0000000000..55ded8292e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TF_DA_COLOR.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TF_DA_COLOR {
+ public int type;
+ public int cr;
+ public static final int sizeof = OS.TF_DA_COLOR_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TF_DISPLAYATTRIBUTE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TF_DISPLAYATTRIBUTE.java
new file mode 100644
index 0000000000..26bb99ee8e
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TF_DISPLAYATTRIBUTE.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TF_DISPLAYATTRIBUTE {
+ public TF_DA_COLOR crText = new TF_DA_COLOR();
+ public TF_DA_COLOR crBk = new TF_DA_COLOR();
+ public int lsStyle;
+ public boolean fBoldLine;
+ public TF_DA_COLOR crLine = new TF_DA_COLOR();
+ public int bAttr;
+ public static final int sizeof = OS.TF_DISPLAYATTRIBUTE_sizeof ();
+}
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
new file mode 100644
index 0000000000..588c858c64
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOOLINFO.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TOOLINFO {
+ public int cbSize;
+ public int uFlags;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwnd;
+ public int /*long*/ uId;
+// public RECT rect;
+ /** @field accessor=rect.left */
+ public int left;
+ /** @field accessor=rect.top */
+ public int top;
+ /** @field accessor=rect.right */
+ public int right;
+ /** @field accessor=rect.bottom */
+ public int bottom;
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hinst;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ lpszText;
+ public int /*long*/ lParam;
+ /** @field cast=(void *) */
+ public int /*long*/ lpReserved;
+ public static int sizeof = !OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1) ? OS.TOOLINFO_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
new file mode 100644
index 0000000000..db2169ef55
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRACKMOUSEEVENT.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TRACKMOUSEEVENT {
+ public int cbSize;
+ public int dwFlags;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndTrack;
+ public int dwHoverTime;
+ public static final int sizeof = OS.TRACKMOUSEEVENT_sizeof ();
+}
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
new file mode 100644
index 0000000000..d36f615044
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRIVERTEX.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * 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 TRIVERTEX {
+ public int x;
+ public int y;
+ public short Red;
+ public short Green;
+ public short Blue;
+ public short Alpha;
+ public static final int sizeof = OS.TRIVERTEX_sizeof ();
+}
+
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
new file mode 100644
index 0000000000..83b2f8107b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVHITTESTINFO.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TVHITTESTINFO {
+// POINT pt;
+ /** @field accessor=pt.x */
+ public int x;
+ /** @field accessor=pt.y */
+ public int y;
+ public int flags;
+ /** @field cast=(HTREEITEM) */
+ public int /*long*/ hItem;
+ public static int sizeof = OS.TVHITTESTINFO_sizeof ();
+}
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
new file mode 100644
index 0000000000..89e2f6f28c
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVINSERTSTRUCT.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TVINSERTSTRUCT {
+ /** @field cast=(HTREEITEM) */
+ public int /*long*/ hParent;
+ /** @field cast=(HTREEITEM) */
+ public int /*long*/ hInsertAfter;
+// public TVITEMEX item;
+ /** @field accessor=item.mask */
+ public int mask;
+ /** @field accessor=item.hItem,cast=(HTREEITEM) */
+ public int /*long*/ hItem;
+ /** @field accessor=item.state */
+ public int state;
+ /** @field accessor=item.stateMask */
+ public int stateMask;
+ /** @field accessor=item.pszText,cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ /** @field accessor=item.cchTextMax */
+ public int cchTextMax;
+ /** @field accessor=item.iImage */
+ public int iImage;
+ /** @field accessor=item.iSelectedImage */
+ public int iSelectedImage;
+ /** @field accessor=item.cChildren */
+ public int cChildren;
+ /** @field accessor=item.lParam */
+ public int /*long*/ lParam;
+ /** @field accessor=itemex.iIntegral,flags=no_wince */
+ public int iIntegral;
+ public static final int sizeof = OS.TVINSERTSTRUCT_sizeof ();
+}
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
new file mode 100644
index 0000000000..cd41c7e9d1
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEM.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TVITEM {
+ public int mask;
+ /** @field cast=(HTREEITEM) */
+ public int /*long*/ hItem;
+ public int state;
+ public int stateMask;
+ /** @field cast=(LPTSTR) */
+ public int /*long*/ pszText;
+ public int cchTextMax;
+ public int iImage;
+ public int iSelectedImage;
+ public int cChildren;
+ public int /*long*/ lParam;
+ public static final int sizeof = OS.TVITEM_sizeof ();
+}
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
new file mode 100644
index 0000000000..82ef115e84
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEMEX.java
@@ -0,0 +1,16 @@
+/*******************************************************************************
+ * 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 TVITEMEX extends TVITEM {
+ public int iIntegral;
+ public static final int sizeof = OS.TVITEMEX_sizeof ();
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVSORTCB.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVSORTCB.java
new file mode 100644
index 0000000000..6b55788f80
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVSORTCB.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class TVSORTCB {
+ /** @field cast=(HTREEITEM) */
+ public int /*long*/ hParent;
+ /** @field cast=(PFNTVCOMPARE) */
+ public int /*long*/ lpfnCompare;
+ /** @field cast=(LPARAM) */
+ public int /*long*/ lParam;
+ public static final int sizeof = OS.TVSORTCB_sizeof ();
+}
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
new file mode 100644
index 0000000000..e0cb2f3c00
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/UDACCEL.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * 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 UDACCEL {
+ public int nSec;
+ public int nInc;
+ public static final int sizeof = OS.UDACCEL_sizeof ();
+}
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
new file mode 100644
index 0000000000..925be00c3b
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPLACEMENT.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class WINDOWPLACEMENT {
+ public int length;
+ public int flags;
+ public int showCmd;
+// POINT ptMinPosition;
+ /** @field accessor=ptMinPosition.x */
+ public int ptMinPosition_x;
+ /** @field accessor=ptMinPosition.y */
+ public int ptMinPosition_y;
+// POINT ptMaxPosition;
+ /** @field accessor=ptMaxPosition.x */
+ public int ptMaxPosition_x;
+ /** @field accessor=ptMaxPosition.y */
+ public int ptMaxPosition_y;
+// RECT rcNormalPosition;
+ /** @field accessor=rcNormalPosition.left */
+ public int left;
+ /** @field accessor=rcNormalPosition.top */
+ public int top;
+ /** @field accessor=rcNormalPosition.right */
+ public int right;
+ /** @field accessor=rcNormalPosition.bottom */
+ public int bottom;
+ public static final int sizeof = OS.WINDOWPLACEMENT_sizeof ();
+}
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
new file mode 100644
index 0000000000..d6148f71d4
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPOS.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class WINDOWPOS {
+ /** @field cast=(HWND) */
+ public int /*long*/ hwnd;
+ /** @field cast=(HWND) */
+ public int /*long*/ hwndInsertAfter;
+ public int x;
+ public int y;
+ public int cx;
+ public int cy;
+ public int flags;
+ public static final int sizeof = OS.WINDOWPOS_sizeof ();
+}
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
new file mode 100644
index 0000000000..e3720d7959
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WNDCLASS.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class WNDCLASS {
+ public int style;
+ /** @field cast=(WNDPROC) */
+ public int /*long*/ lpfnWndProc;
+ public int cbClsExtra;
+ public int cbWndExtra;
+ /** @field cast=(HINSTANCE) */
+ public int /*long*/ hInstance;
+ /** @field cast=(HICON) */
+ public int /*long*/ hIcon;
+ /** @field cast=(HCURSOR) */
+ public int /*long*/ hCursor;
+ /** @field cast=(HBRUSH) */
+ public int /*long*/ hbrBackground;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpszMenuName;
+ /** @field cast=(LPCTSTR) */
+ public int /*long*/ lpszClassName;
+ public static final int sizeof = OS.WNDCLASS_sizeof ();
+}
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
new file mode 100644
index 0000000000..1ee56b6295
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/package.html
@@ -0,0 +1,21 @@
+<!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>