windows-nt/Source/XPSP1/NT/multimedia/directx/dxvb/dx7vb/directvbstruct.idl
2020-09-26 16:20:57 +08:00

2325 lines
52 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: directxstruct.idl
//
//--------------------------------------------------------------------------
// Direct.idl : IDL source for Direct.dll
// +++++++++++++++++++++++++++++++++++++
// This file will be processed by the MIDL tool to
// produce the type library (Direct.tlb) and marshalling code.
//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
///////////////////////////////////////////////////////////
// General Types
#ifdef C_ONLY
#define DXDRIVERINFO DxDriverInfo
#define DXDRIVERINFOEX DxDriverInfoEx
#define RECT Rect
#define DXGUID DxGuid
#define DPAPPLICATIONDESC2 DpApplicationDesc2
#define DIRECTXREGISTERAPP DirectXRegisterApp
#define PALETTEENTRY PaletteEntry
#define D3DRECT D3dRect
#define D3DROTATION D3dRotation
#define D3DVECTOR D3dVector
#define D3DCOLORVALUE D3dColorValue
#define D3DHVERTEX D3dHVertex
#define D3DTLVERTEX D3dTLVertex
#define D3DLVERTEX D3dLVertex
#define D3DVERTEX D3dVertex
#define DXVERTEX DxVertex
#define D3DCLIPSTATUS D3dClipStatus
#define D3DVIEWPORT D3dViewport
#define D3DVIEWPORT2 D3dViewport2
#define D3DVIEWPORT7 D3dViewport7
#define D3DLIGHTINGCAPS D3dLightingCaps
#define D3DPRIMCAPS D3dPrimCaps
#define D3DDEVICEDESC D3dDeviceDesc
//#define D3DFINDDEVICERESULT D3dFindDeviceResult
//#define D3DFINDDEVICERESULT2 D3dFindDeviceResult2
#define D3DMATERIAL D3dMaterial
#define D3DMATERIAL7 D3dMaterial7
#define D3DLIGHT2 D3dLight2
#define D3DLIGHT7 D3dLight7
#define D3DMATRIX D3dMatrix
#define D3DRMRAY D3dRMRay
#define D3DSTATUS D3dStatus
#define D3DDEVINFO_TEXTUREMANAGER D3dDevInfo_TextureManager
#define D3DSTATS D3dStats
#define D3DTRANSFORMDATA D3dTransFormData
#define D3DLIGHTDATA D3dLightData
#define D3DRMQUATERNION D3dRMQuaternion
#define D3DRMVECTOR4D D3dRMVector4d
#define D3DRMBOX D3dRMBox
#define D3DRMPICKDESC D3dRMPickDesc
#define D3DRMPICKDESC2 D3dRMPickDesc2
#define D3DRMIMAGE D3dRMImage
#define D3DRMVERTEX D3dRMVertex
#define D3DVERTEXBUFFERDESC D3dVertexBufferDesc
#define D3DRMMATERIALOVERRIDE D3dMaterialOverride
#define DDCOLORKEY DDColorKey
#define DDSCAPS DDSCaps
#define DDPIXELFORMAT DDPixelFormat
#define DDSURFACEDESC2 DDSurfaceDesc2
#define DDCAPS DDCaps
#define DDCAPS2 DDCaps2
#define DDSCAPS2 DDSCaps2
#define DDBLTFX DDBltFx
#define DDVIDEOPORTINFO DDVideoPortInfo
#define DDCOLORCONTROL DDColorControl
#define DDGAMMARAMP DDGammaRamp
#define DDVIDEOPORTBANDWIDTH DDVideoPortBandWidth
#define DDVIDEOPORTCAPS DDVideoPortCaps
#define DDVIDEOPORTDESC DDVideoPortDesc
#define DDVIDEOPORTINFO DDVideoPortInfo
#define DDVIDEOPORTCONNECT DDVideoPortConnect
#define DSBCAPS DSBCaps
#define DSCAPS DSCaps
#define WAVEFORMATEX WaveFormatex
#define DSBUFFERDESC DSBufferDesc
#define DSCURSORS DSCursors
#define DSRESOURCEDESC DSResourceDesc
#define DS3DBUFFER DS3dBuffer
#define DS3DLISTENER DS3dListener
#define DSCBCAPS DSCBCaps
#define DSCCAPS DSCCaps
#define DSCBUFFERDESC DSCBufferDesc
#define DSBPOSITIONNOTIFY DSBPositionNotify
#define DPCHAT DPChat
#define DPCOMPOUNDADDRESSELEMENT DPCompoundAddressElement
#define DPCREDENTIALS DPCredentials
#define DPSECURITYDESC DPSecurityDesc
#define DPSESSIONDESC2 DPSessionDesc2
#define DPLAPPINFO DPLAppInfo
#define DPPLAYERIDS DPPlayerIds
#define DPCAPS DPCaps
#define DPPLAYERINFO DPPlayerInfo
#define DPSERVICEPROVIDERINFO DPServiceProviderInfo
#define DPCONNECTION DPConnection
#define DPSERVICEPROVIDER DPServiceProvider
#define DIDEVCAPS DIDevCaps
#define DIDEVICEOBJECTDATA DIDeviceObjectData
#define DIDEVICEINSTANCE DIDeviceInstance
#define DIDEVICEOBJECTINSTANCE DIDeviceObjectInstance
//#define DICONDITION DICondition
#define DIPROPERTY DIProperty
#define DIENVELOPE DIEvelope
#define DICUSTOMFORCE DICustomForce
#define DIPERIODIC DIPeriodic
#define DICONSTANCEFORCE DIConstantForce
#define DIRAMPFORCE DIRampForce
#define DIEFFECT DIEffect
#define DIEFFESCAPE DIEffEscape
#define DIEFFECTINFO DIEffectInfo
#define DIOBJECTDATAFORMAT DIObjectDataFormat
#define DIDATAFORMAT DIDataFormat
#define DIMOUSESTATE DIMouseState
#define DIKEYBOARDSTATE DIKeyboardState
#define DIJOYSTATE DIJoyState
#define DIJOYSTATE2 DIJoyState2
#define D3DDEVICEDESC7 D3dDeviceDesc7
//#define D3DFINDDEVICERESULT7 D3dFindDeviceResult7
#define d3dLightCapsFlags long
#define d3dLightingModelFlags long
#define d3dCapsMisc long
#define d3dCapsRaster long
#define d3dCapsCmp long
#define d3dCapsBlend long
#define d3dCapsTexture long
#define d3dCapsShade long
#define d3dCapsTextureFilter long
//#define d3dCapsTextureBlend long
#define d3dCapsTextureAddress long
#define d3dDeviceDescFlags long
#define d3dColorModel long
#define d3dDeviceDescCaps long
#define d3dTransformCaps long
#define d3dStencilCapsFlags long
#define d3dFVFCapsFlags long
#define d3dTexOpCapsFlags long
#define d3dLightFlags long
#define d3dSetStatusFlags long
#define d3dClipFlags long
#define d3dClipStatusFlags long
//#define d3dFindDeviceSearchFlags long
#define ddSurfaceCapsFlags long
#define ddSurfaceCaps2Flags long
#define ddPixelFormatFlags long
#define ddSurfaceDescFlags long
#define ddSurfaceCapsFlags long
#define ddCaps1Flags long
#define ddCaps2Flags long
#define ddCKeyCapsFlags long
#define ddFXCapsFlags long
#define ddFXAlphaCapsFlags long
#define ddPCapsFlags long
#define ddStereoCapsFlags long
#define ddBltFXFlags long
#define ddColorFlags long
#define d3dVBCapsFlags long
#define d3dFVFFlags long
#define dsbCapsFlags long
#define dsCapsFlags long
#define ds3dModeFlags long
#define dscbCapsFlags long
#define dscCapsFlags long
#define WaveFormatFlags long
#define dpSessionFlags long
#define dpCapsFlags long
#define dpPlayerTypeFlags long
#define diDevCapsFlags long
#define diDeviceType long
#define diDFTFlags long
#define diDeviceObjInstanceFlags long
#define d3drmPMeshStatusFlags long
#define d3drmMaterialOverrideFlags long
#define dBoolFlags long
#define diCommonDataFormats long
#define diDataFormatFlags long
#define ddOverFxFlags long
#define diConditionFlags long
#define CONST_DMUS_PC_CLASS long
#define CONST_DMUS_PC_FLAGS long
#define CONST_DMUS_PORT_TYPE long
#define CONST_DMUS_PORTPARAMS_FLAGS long
#endif
// New types
#ifdef C_ONLY
typedef struct DXDRIVERINFO
{
BSTR strGuid;
BSTR strDescription;
BSTR strName;
} DXDRIVERINFO;
typedef struct DXDRIVERINFOEX
{
BSTR strGuid;
BSTR strDescription;
BSTR strName;
long hMonitor;
} DXDRIVERINFOEX;
typedef struct RECT
{
long left;
long top;
long right;
long bottom;
} RECT;
#else
[helpcontext(400100)]
typedef struct RECT
{
long Left;
long Top;
long Right;
long Bottom;
} RECT;
#endif
[hidden]
typedef struct DXGUID {
long data1;
short data2;
short data3;
Byte data4[8];
} DXGUID;
[helpcontext(400200)]
typedef struct DPAPPLICATIONDESC2
{
long lFlags;
BSTR strApplicationName;
BSTR strGuid;
BSTR strFilename;
BSTR strCommandLine;
BSTR strPath;
BSTR strCurrentDirectory;
BSTR strDescription;
BSTR strAppLauncherName;
} DPAPPLICATIONDESC2;
[helpcontext(400300)]
typedef struct DIRECTXREGISTERAPP
{
long lFlags;
BSTR strApplicationName;
BSTR strGuid;
BSTR strFilename;
BSTR strCommandLine;
BSTR strPath;
BSTR strCurrentDirectory;
} DIRECTXREGISTERAPP;
[helpcontext(400400)]
typedef struct PALETTEENTRY
{
Byte red;
Byte green;
Byte blue;
Byte flags;
} PALETTEENTRY;
//
// D3D Types
//
[helpcontext(400500)]
typedef struct D3DRECT {
long x1;
long y1;
long x2;
long y2;
} D3DRECT;
// not needed according to shanee
// typedef struct D3DROTATION {
// float x;
// float y;
// float z;
// float t;
// } D3DROTATION;
[helpcontext(400600)]
typedef struct D3DVECTOR {
float x;
float y;
float z;
} D3DVECTOR;
[helpcontext(400700)]
typedef struct D3DCOLORVALUE {
float r;
float g;
float b;
float a;
} D3DCOLORVALUE;
[helpcontext(400800)]
typedef struct D3DLINEPATTERN {
long repeatFactor;
long linePatern;
} D3DLINEPATTERN;
[helpcontext(400900)]
typedef struct D3DTLVERTEX {
float sx; /* Screen coordinates */
float sy;
float sz;
float rhw; /* Reciprocal of homogeneous w */
long color; /* Vertex color */
long specular; /* Specular component of vertex */
float tu; /* Texture coordinates */
float tv;
} D3DTLVERTEX;
[helpcontext(401000)]
typedef struct D3DLVERTEX {
float x; /* Homogeneous coordinates */
float y;
float z;
[hidden] long reserved;
long color; /* Vertex color */
long specular; /* Specular component of vertex */
float tu; /* Texture coordinates */
float tv;
} D3DLVERTEX;
[helpcontext(401100)]
typedef struct D3DVERTEX {
float x; /* Homogeneous coordinates */
float y;
float z;
float nx; /* Normal */
float ny;
float nz;
float tu; /* Texture coordinates */
float tv;
} D3DVERTEX;
[helpcontext(401200)]
typedef struct D3DCLIPSTATUS {
d3dClipStatusFlags lFlags;
d3dClipFlags lStatus;
float minx, maxx;
float miny, maxy;
float minz, maxz;
} D3DCLIPSTATUS ;
[helpcontext(401300)]
typedef struct D3DVIEWPORT7 {
long lX;
long lY;
long lWidth;
long lHeight;
float minZ;
float maxZ;
} D3DVIEWPORT7;
[helpcontext(401400)]
typedef struct D3DLIGHTINGCAPS {
[hidden] long lSize;
d3dLightCapsFlags lCaps;
d3dLightingModelFlags lLightingModel;
long lNumLights;
} D3DLIGHTINGCAPS;
[helpcontext(401500)]
typedef struct D3DPRIMCAPS {
[hidden] long lSize; // size of structure
d3dCapsMisc lMiscCaps; // miscellaneous caps
d3dCapsRaster lRasterCaps; // raster caps
d3dCapsCmp lZCmpCaps; // z-comparison caps
d3dCapsBlend lSrcBlendCaps; // source blending caps
d3dCapsBlend lDestBlendCaps; // destination blending caps
d3dCapsCmp lAlphaCmpCaps; // alpha-test comparison caps
d3dCapsShade lShadeCaps; // shading caps
d3dCapsTexture lTextureCaps; // texture caps
d3dCapsTextureFilter lTextureFilterCaps; // texture filtering caps
//d3dCapsTextureBlend lTextureBlendCaps; // texture blending caps
long lReserved1;
d3dCapsTextureAddress lTextureAddressCaps; // texture addressing caps
long lStippleWidth; // stipple width
long lStippleHeight; // stipple height
} D3DPRIMCAPS;
#ifndef JAVA_ONLY
[helpcontext(401600)]
typedef struct D3DDEVICEDESC7
{
d3dDeviceDescCaps lDevCaps;
D3DPRIMCAPS dpcLineCaps;
D3DPRIMCAPS dpcTriCaps;
long lDeviceRenderBitDepth;
long lDeviceZBufferBitDepth;
long lMinTextureWidth,lMinTextureHeight;
long lMaxTextureWidth,lMaxTextureHeight;
long lMaxTextureRepeat;
long lMaxTextureAspectRatio;
long lMaxAnisotropy;
float dvGuardBandLeft;
float dvGuardBandTop;
float dvGuardBandRight;
float dvGuardBandBottom;
float dvExtentsAdjust;
d3dStencilCapsFlags lStencilCaps;
d3dFVFCapsFlags lFVFCaps;
d3dTexOpCapsFlags lTextureOpCaps;
short nMaxTextureBlendStages;
short nMaxSimultaneousTextures;
long lMaxActiveLights;
float dvMaxVertexW;
[hidden] DXGUID deviceGuid;
short nMaxUserClipPlanes;
short nMaxVertexBlendMatrices;
d3dVTXPCapsFlags lVertexProcessingCaps;
[hidden] long lReserved1;
[hidden] long lReserved2;
[hidden] long lReserved3;
[hidden] long lReserved4;
} D3DDEVICEDESC7;
#else
typedef struct D3DDEVICEDESC7
{
long lDevCaps;
[hidden] long dpcLineCaps_lSize; // size of structure
long dpcLineCaps_lMiscCaps; // miscellaneous caps
long dpcLineCaps_lRasterCaps; // raster caps
long dpcLineCaps_lZCmpCaps; // z-comparison caps
long dpcLineCaps_lSrcBlendCaps; // source blending caps
long dpcLineCaps_lDestBlendCaps; // destination blending caps
long dpcLineCaps_lAlphaCmpCaps; // alpha-test comparison caps
long dpcLineCaps_lShadeCaps; // shading caps
long dpcLineCaps_lTextureCaps; // texture caps
long dpcLineCaps_lTextureFilterCaps; // texture filtering caps
long dpcLineCaps_lTextureBlendCaps; // texture blending caps
long dpcLineCaps_lTextureAddressCaps; // texture addressing caps
long dpcLineCaps_lStippleWidth; // stipple width
long dpcLineCaps_lStippleHeight; // stipple height
[hidden] long dpcTriCaps_lSize; // size of structure
long dpcTriCaps_lMiscCaps; // miscellaneous caps
long dpcTriCaps_lRasterCaps; // raster caps
long dpcTriCaps_lZCmpCaps; // z-comparison caps
long dpcTriCaps_lSrcBlendCaps; // source blending caps
long dpcTriCaps_lDestBlendCaps; // destination blending caps
long dpcTriCaps_lAlphaCmpCaps; // alpha-test comparison caps
long dpcTriCaps_lShadeCaps; // shading caps
long dpcTriCaps_lTextureCaps; // texture caps
long dpcTriCaps_lTextureFilterCaps; // texture filtering caps
long dpcTriCaps_lTextureBlendCaps; // texture blending caps
long dpcTriCaps_lTextureAddressCaps; // texture addressing caps
long dpcTriCaps_lStippleWidth; // stipple width
long dpcTriCaps_lStippleHeight; // stipple height
long lDeviceRenderBitDepth;
long lDeviceZBufferBitDepth;
long lMinTextureWidth,lMinTextureHeight;
long lMaxTextureWidth,lMaxTextureHeight;
long lMaxTextureRepeat;
long lMaxTextureAspectRatio;
long lMaxAnisotropy;
float dvGuardBandLeft;
float dvGuardBandTop;
float dvGuardBandRight;
float dvGuardBandBottom;
float dvExtentsAdjust;
d3dStencilCapsFlags lStencilCaps;
d3dFVFCapsFlags lFVFCaps;
d3dTexOpCapsFlags lTextureOpCaps;
short nMaxTextureBlendStages;
short nMaxSimultaneousTextures;
long lMaxActiveLights;
float dvMaxVertexW;
[hidden] DXGUID deviceGuid;
short nMaxUserClipPlanes;
short nMaxVertexBlendMatrices;
d3dVTXCapsFlags lVertexProcessingCaps;
[hidden] long lReserved1;
[hidden] long lReserved2;
[hidden] long lReserved3;
[hidden] long lReserved4;
} D3DDEVICEDESC7;
#endif
#ifndef JAVA_ONLY
[helpcontext(401700)]
typedef struct D3DMATERIAL7 {
D3DCOLORVALUE diffuse;
D3DCOLORVALUE ambient;
D3DCOLORVALUE specular;
D3DCOLORVALUE emissive;
float power;
} D3DMATERIAL7;
#else
typedef struct D3DMATERIAL7 {
float diffuse_r; //d3dColorValue
float diffuse_g;
float diffuse_b;
float diffuse_a;
float ambient_r; //D3DCOLORVALUE
float ambient_g;
float ambient_b;
float ambient_a;
float specular_r; //D3DCOLORVALUE
float specular_g;
float specular_b;
float specular_a;
float emissive_r; //D3DCOLORVALUE
float emissive_g;
float emissive_b;
float emissive_a;
float power;
} D3DMATERIAL7;
#endif
#ifndef JAVA_ONLY
[helpcontext(401800)]
typedef struct D3DLIGHT7 {
d3dLightType dltType;
D3DCOLORVALUE diffuse;
D3DCOLORVALUE specular;
D3DCOLORVALUE ambient;
D3DVECTOR position;
D3DVECTOR direction;
float range;
float falloff;
float attenuation0;
float attenuation1;
float attenuation2;
float theta;
float phi;
} D3DLIGHT7 ;
#else
typedef struct D3DLIGHT7 {
d3dLightType dltType;
float diffuse_r; //D3DCOLORVALUE
float diffuse_g; //D3DCOLORVALUE
float diffuse_b; //D3DCOLORVALUE
float diffuse_a; //D3DCOLORVALUE
float specular_r; //D3DCOLORVALUE
float specular_g; //D3DCOLORVALUE
float specular_b; //D3DCOLORVALUE
float specular_a; //D3DCOLORVALUE
float ambient_r; //D3DCOLORVALUE
float ambient_g; //D3DCOLORVALUE
float ambient_b; //D3DCOLORVALUE
float ambient_a; //D3DCOLORVALUE
float position_x; //D3DVECTOR
float position_y;
float position_z;
float direction_x; //D3DVECTOR
float direction_y;
float direction_z;
float range;
float falloff;
float attenuation0;
float attenuation1;
float attenuation2;
float theta;
float phi;
d3dLightFlags lFlags;
} D3DLIGHT7 ;
#endif
[helpcontext(401900)]
typedef struct D3DMATRIX {
float rc11;
float rc12;
float rc13;
float rc14;
float rc21;
float rc22;
float rc23;
float rc24;
float rc31;
float rc32;
float rc33;
float rc34;
float rc41;
float rc42;
float rc43;
float rc44;
} D3DMATRIX;
#ifndef JAVA_ONLY
[helpcontext(402000)]
typedef struct D3DRMRAY
{ D3DVECTOR dir;
D3DVECTOR pos;
} D3DRMRAY;
#else
typedef struct D3DRMRAY
{ float dir_x;
float dir_y;
float dir_z;
float pos_x;
float pos_y;
float pos_z;
} D3DRMRAY;
#endif
////////////////////////////////////////////////////////////////////
// Direct 3D Retain Mode types
#ifndef JAVA_ONLY
[helpcontext(402100)]
typedef struct D3DRMQUATERNION
{
float s;
D3DVECTOR v;
} D3DRMQUATERNION;
#else
typedef struct D3DRMQUATERNION
{
float s;
float v_x;
float v_y;
float v_z;
} D3DRMQUATERNION;
#endif
[helpcontext(402200)]
typedef struct D3DRMVECTOR4D
{
float x;
float y;
float z;
float w;
} D3DRMVECTOR4D;
#ifndef JAVA_ONLY
[helpcontext(402300)]
typedef struct D3DRMBOX
{
D3DVECTOR min;
D3DVECTOR max;
} D3DRMBOX;
#else
typedef struct D3DRMBOX
{
float min_x; // replaces min - cant concat structures
float min_y;
float min_z;
float max_x; // replaces max - cant concat structures
float max_y;
float max_z;
} D3DRMBOX;
#endif
#ifndef JAVA_ONLY
[helpcontext(402400)]
typedef struct D3DRMPICKDESC
{
long lFaceIdx;
long lGroupIdx;
D3DVECTOR vPosition;
} D3DRMPICKDESC;
#else
typedef struct D3DRMPICKDESC
{
long lFaceIdx;
long lGroupIdx;
float vPosition_x; // replaces vPosition - cant concat structures
float vPosition_y;
float vPosition_z;
} D3DRMPICKDESC;
#endif
#ifndef JAVA_ONLY
[helpcontext(402500)]
typedef struct D3DRMPICKDESC2
{
long lFaceIdx;
long lGroupIdx;
D3DVECTOR vPostion;
float tu;
float tv;
D3DVECTOR vNormal;
long color;
} D3DRMPICKDESC2;
#else
typedef struct D3DRMPICKDESC2
{
long lFaceIdx;
long lGroupIdx;
float vPostion_x;
float vPostion_y;
float vPostion_z;
float tu;
float tv;
float vNormal_x;
float vNormal_y;
float vNormal_z;
long color;
} D3DRMPICKDESC2;
#endif
#ifndef JAVA_ONLY
[helpcontext(402600)]
typedef struct D3DRMVERTEX
{
D3DVECTOR position;
D3DVECTOR normal;
float tu;
float tv;
long color;
} D3DRMVERTEX;
#else
typedef struct D3DRMVERTEX
{
float position_x; //x position
float position_y; //y
float position_z; //z
float normal_x; //x normal
float normal_y; //y
float normal_z; //z
float tu;
float tv;
long color;
} D3DRMVERTEX;
#endif
///////////////////////////////////////////////////////////////
//
// Direct Draw Types
//
///////////////////////////////////////////////////////////////
[helpcontext(402700)]
typedef struct DDCOLORKEY {
long low;
long high;
} DDCOLORKEY;
[helpcontext(402800)]
typedef struct DDSCAPS2 {
ddSurfaceCapsFlags lCaps;
ddSurfaceCaps2Flags lCaps2;
long lCaps3;
long lCaps4;
} DDSCAPS2;
[helpcontext(402900)]
typedef struct DDPIXELFORMAT
{
[hidden]long lSize; //private
ddPixelFormatFlags lFlags;
long lFourCC;
[hidden] long internalVal1;
// union { DWORD dwRGBBitCount;
// DWORD dwYUVBitCount;
// DWORD dwZBufferBitDepth;
// DWORD dwAlphaBitDepth;
// DWORD dwLuminanceBitCount; // new for DirectX 6.0
// DWORD dwBumpBitCount; // new for DirectX 6.0}
[hidden] long internalVal2;
// union DWORD dwRBitMask;
//DWORD dwYBitMask;
//DWORD dwStencilBitDepth; // new for DirectX 6.0
//DWORD dwLuminanceBitMask; // new for DirectX 6.0
//DWORD dwBumpDuBitMask; // new for DirectX 6.0
//} DUMMYUNIONNAMEN(2);
[hidden] long internalVal3;
//union { DWORD dwGBitMask;
// DWORD dwUBitMask;
// DWORD dwZBitMask; // new for DirectX 6.0
// DWORD dwBumpDvBitMask; // new for DirectX 6.0
//} DUMMYUNIONNAMEN(3);
[hidden] long internalVal4;
// union { DWORD dwBBitMask;
// DWORD dwVBitMask;
// DWORD dwStencilBitMask; // new for DirectX 6.0
// DWORD dwBumpLuminanceBitMask; // new for DirectX 6.0
// } DUMMYUNIONNAMEN(4);
[hidden] long internalVal5;
//union { DWORD dwRGBAlphaBitMask;
// DWORD dwYUVAlphaBitMask;
// DWORD dwLuminanceAlphaBitMask; // new for DirectX 6.0
// DWORD dwRGBZBitMask;
// DWORD dwYUVZBitMask;
//} DUMMYUNIONNAMEN(5);
//union for internalVal1
long lRGBBitCount;
long lYUVBitCount;
long lZBufferBitDepth;
long lAlphaBitDepth;
long lLuminanceBitCount;
long lBumpBitCount;
// union for internalVal2
long lRBitMask;
long lYBitMask;
long lStencilBitDepth;
long lLuminanceBitMask;
long lBumpDuBitMask;
// union for internalVal3
long lGBitMask;
long lUBitMask;
long lZBitMask;
long lBumpDvBitMask;
// union for internalVal4
long lBBitMask;
long lVBitMask;
long lStencilBitMask;
long lBumpLuminanceBitMask;
// union for internalVal5
long lRGBAlphaBitMask;
long lYUVAlphaBitMask;
long lLuminanceAlphaBitMask; // new for DirectX 6.0
long lRGBZBitMask;
long lYUVZBitMask;
} DDPIXELFORMAT;
#ifndef JAVA_ONLY
[helpcontext(403000)]
typedef struct DDSURFACEDESC2 {
[hidden] long lSize;
ddSurfaceDescFlags lFlags;
long lHeight;
long lWidth;
long lPitch; //union with lLinearSize
long lBackBufferCount;
long lZBufferBitDepth; //union with lMipMapCount and lRefreshRate
long lAlphaBitDepth;
[hidden]long lReserved;
[hidden]long lpSurface;
DDCOLORKEY ddckCKDestOverlay;
DDCOLORKEY ddckCKDestBlt;
DDCOLORKEY ddckCKSrcOverlay;
DDCOLORKEY ddckCKSrcBlt;
DDPIXELFORMAT ddpfPixelFormat;
DDSCAPS2 ddsCaps;
long lTextureStage;
long lLinearSize;
long lMipMapCount;
long lRefreshRate;
} DDSURFACEDESC2;
#else
typedef struct DDSURFACEDESC2 {
[hidden] long lSize;
ddSurfaceDescFlags lFlags;
long lHeight;
long lWidth;
long lPitch; //union with lLinearSize
long lBackBufferCount;
long lZBufferBitDepth; //union with lMipMapCount and lRefreshRate
long lAlphaBitDepth;
long lReserved;
[hidden] long lpSurface;
long ddckCKDestOverlay_low;
long ddckCKDestOverlay_high;
long ddckCKDestBlt_low;
long ddckCKDestBlt_high;
long ddckCKSrcOverlay_low;
long ddckCKSrcOverlay_high;
long ddckCKSrcBlt_low;
long ddckCKSrcBlt_high;
[hidden]long ddpfPixelFormat_lSize; //private
long ddpfPixelFormat_lFlags;
long ddpfPixelFormat_lFourCC;
long ddpfPixelFormat_internalVal1;
long ddpfPixelFormat_internalVal2;
long ddpfPixelFormat_internalVal3;
long ddpfPixelFormat_internalVal4;
long ddpfPixelFormat_internalVal5;
//union for internalVal1
long ddpfPixelFormat_lRGBBitCount;
long ddpfPixelFormat_lYUVBitCount;
long ddpfPixelFormat_lZBufferBitDepth;
long ddpfPixelFormat_lAlphaBitDepth;
long ddpfPixelFormat_lLuminanceBitCount;
long ddpfPixelFormat_lBumpBitCount;
// union for internalVal2
long ddpfPixelFormat_lRBitMask;
long ddpfPixelFormat_lYBitMask;
long ddpfPixelFormat_lStencilBitDepth;
long ddpfPixelFormat_lLuminanceBitMask;
long ddpfPixelFormat_lBumpDiBitMask;
// union for internalVal3
long ddpfPixelFormat_lGBitMask;
long ddpfPixelFormat_lUBitMask;
long ddpfPixelFormat_lZBitMask;
long ddpfPixelFormat_lBumpDvBitMask;
// union for internalVal4
long ddpfPixelFormat_lBBitMask;
long ddpfPixelFormat_lVBitMask;
long ddpfPixelFormat_lStencilBitMask;
long ddpfPixelFormat_lBumpLuminanceBitMask;
// union for internalVal5
long ddpfPixelFormat_lRGBAlphaBitMask;
long ddpfPixelFormat_lYUVAlphaBitMask;
long ddpfPixelFormat_lLuminanceAlphaBitMask; // new for DirectX 6.0
long ddpfPixelFormat_lRGBZBitMask;
long ddpfPixelFormat_lYUVZBitMask;
ddSurfaceCapsFlags ddsCaps_lCaps;
ddSurfaceCaps2Flags ddsCaps_lCaps2;
long ddsCaps_lCaps3;
long ddsCaps_lCaps4;
long lTextureStage;
//unions
long lLinearSize;
long lMipMapCount;
long lRefreshRate;
} DDSURFACEDESC2;
#endif
[helpcontext(403100)]
typedef struct DDCAPS
{
[hidden]long lSize; //private
ddCaps1Flags lCaps;
ddCaps2Flags lCaps2;
ddCKeyCapsFlags lCKeyCaps;
ddFXCapsFlags lFXCaps;
[hidden] long lFXAlphaCaps;
ddPCapsFlags lPalCaps;
ddStereoCapsFlags lSVCaps;
long lAlphaBltConstBitDepths;
long lAlphaBltPixelBitDepths;
long lAlphaBltSurfaceBitDepths;
long lAlphaOverlayConstBitDepths;
long lAlphaOverlayPixelBitDepths;
long lAlphaOverlaySurfaceBitDepths;
long lZBufferBitDepths;
long lVidMemTotal;
long lVidMemFree;
long lMaxVisibleOverlays;
long lCurrVisibleOverlays;
long lNumFourCCCodes;
long lAlignBoundarySrc;
long lAlignSizeSrc;
long lAlignBoundaryDest;
long lAlignSizeDest;
long lAlignStrideAlign;
#ifndef JAVA_ONLY
long lRops[8];
#else
long lRops_0;
long lRops_1;
long lRops_2;
long lRops_3;
long lRops_4;
long lRops_5;
long lRops_6;
long lRops_7;
#endif
long lReservedCaps;
long lMinOverlayStretch;
long lMaxOverlayStretch;
long lMinLiveVideoStretch;
long lMaxLiveVideoStretch;
long lMinHwCodecStretch;
long lMaxHwCodecStretch;
long lReserved1;
long lReserved2;
long lReserved3;
ddCaps1Flags lSVBCaps;
ddCKeyCapsFlags lSVBCKeyCaps;
ddFXCapsFlags lSVBFXCaps; // .
#ifndef JAVA_ONLY
long lSVBRops[8];
#else
long lSVBRops_0;
long lSVBRops_1;
long lSVBRops_2;
long lSVBRops_3;
long lSVBRops_4;
long lSVBRops_5;
long lSVBRops_6;
long lSVBRops_7;
#endif
ddCaps1Flags lVSBCaps;
ddCKeyCapsFlags lVSBCKeyCaps;
ddFXCapsFlags lVSBFXCaps; // .
#ifndef JAVA_ONLY
long lVSRops[8];
#else
long lVSBRops_0;
long lVSBRops_1;
long lVSBRops_2;
long lVSBRops_3;
long lVSBRops_4;
long lVSBRops_5;
long lVSBRops_6;
long lVSBRops_7;
#endif
ddCaps1Flags lSSBCaps;
ddCKeyCapsFlags lSSBCKeyCaps;
ddFXCapsFlags lSSBFXCaps; // .
#ifndef JAVA_ONLY
long lSSBRops[8];
#else
long lSSBRops_0;
long lSSBRops_1;
long lSSBRops_2;
long lSSBRops_3;
long lSSBRops_4;
long lSSBRops_5;
long lSSBRops_6;
long lSSBRops_7;
#endif
long lMaxVideoPorts; // maximum number of live video ports
long lCurrVideoPorts; // current number of live video ports
ddCaps2Flags lSVBCaps2; // additional system-to-video blit caps
ddCaps1Flags lNLVBCaps; // nonlocal-to-local video memory blit caps
ddCaps2Flags lNLVBCaps2; // .
ddCKeyCapsFlags lNLVBCKeyCaps; // .
ddFXCapsFlags lNLVBFXCaps; // .
#ifndef JAVA_ONLY
long lNLVBRops[8];
#else
long lNLVBRops_0;
long lNLVBRops_1;
long lNLVBRops_2;
long lNLVBRops_3;
long lNLVBRops_4;
long lNLVBRops_5;
long lNLVBRops_6;
long lNLVBRops_7;
#endif
DDSCAPS2 ddsCaps;
} DDCAPS;
[helpcontext(403200)]
typedef struct DDBLTFX {
[hidden] long lSize; //private
ddBltFXFlags lDDFX;
long lROP;
long lDDROP;
long lRotationAngle;
long lZBufferOpCode;
long lZBufferLow;
long lZBufferHigh;
long lZBufferBaseDest;
long lZDestConstBitDepth;
long lZDestConst; //union with lpDDSZBufferDesc
long lZSrcConstBitDepth;
long lZSrcConst; //union with lpDDSZBufferSrc
long lAlphaEdgeBlendBitDepth;
long lAlphaEdgeBlend;
long lReserved; //private
long lAlphaDestConstBitDepth;
long lAlphaDestConst; //union with lpDDSAlphaDest
long lAlphaSrcConstBitDepth;
long lAlphaSrcConst; //union with lpDDSAlphaSrc
long lFill; //union with FillDepth and FillPixel
long ddckDestColorKey_low;
long ddckDestColorKey_high;
long ddckSrcColorKey_low;
long ddckSrcColorKey_high;
} DDBLTFX;
[helpcontext(403300)]
typedef struct DDCOLORCONTROL {
[hidden] long lSize;
ddColorFlags lFlags;
long lBrightness;
long lContrast;
long lHue;
long lSaturation;
long lSharpness;
long lGamma;
long lColorEnable;
long lReserved1;
} DDCOLORCONTROL;
[helpcontext(403400)]
typedef struct DDGAMMARAMP {
short red[256];
short green[256];
short blue[256];
} DDGAMMARAMP;
[helpcontext(403500)]
typedef struct D3DVERTEXBUFFERDESC {
[hidden] long lSize;
d3dVBCapsFlags lCaps;
d3dFVFFlags lFVF;
long lNumVertices;
} D3DVERTEXBUFFERDESC;
//////////////////////////////////////////////////////////////////////
// Direct Sound types
//////////////////////////////////////////////////////////////////////
[helpcontext(403600)]
typedef struct DSBCAPS
{
[hidden] long lSize;
dsbCapsFlags lFlags;
long lBufferBytes;
long lUnlockTransferRate;
long lPlayCpuOverhead;
} DSBCAPS;
[helpcontext(403700)]
typedef struct DSCAPS {
[hidden] long lSize;
dsCapsFlags lFlags;
long lMinSecondarySampleRate;
long lMaxSecondarySampleRate;
long lPrimaryBuffers;
long lMaxHwMixingAllBuffers;
long lMaxHwMixingStaticBuffers;
long lMaxHwMixingStreamingBuffers;
long lFreeHwMixingAllBuffers;
long lFreeHwMixingStaticBuffers;
long lFreeHwMixingStreamingBuffers;
long lMaxHw3DAllBuffers;
long lMaxHw3DStaticBuffers;
long lMaxHw3DStreamingBuffers;
long lFreeHw3DAllBuffers;
long lFreeHw3DStaticBuffers;
long lFreeHw3DStreamingBuffers;
long lTotalHwMemBytes;
long lFreeHwMemBytes;
long lMaxContigFreeHwMemBytes;
long lUnlockTransferRateHwBuffers;
long lPlayCpuOverheadSwBuffers;
long lReserved1;
long lReserved2;
} DSCAPS;
[helpcontext(403800)]
typedef struct WAVEFORMATEX
{
short nFormatTag; /* format type */
short nChannels; /* number of channels (i.e. mono, stereo...) */
long lSamplesPerSec; /* sample rate */
long lAvgBytesPerSec; /* for buffer estimation */
short nBlockAlign; /* block size of data */
short nBitsPerSample; /* number of bits per sample of mono data */
short nSize; /* nbytes of the extra information */
long lExtra; // was byte* seen as an array - extra information (after cbSize)
} WAVEFORMATEX;
[helpcontext(403900)]
typedef struct DSBUFFERDESC //docdoc: requires WaveFormatex
{
[hidden] long lSize;
dsbCapsFlags lFlags;
long lBufferBytes;
[hidden] long lReserved;
[hidden] long lpwfxFormat; // WaveFormatex *lpwfxFormat;
} DSBUFFERDESC;
[helpcontext(404000)]
typedef struct DSCURSORS
{
long lPlay; // Play cursor
long lWrite; // Write Cursor
} DSCURSORS;
//
// 3D Sound
//
#ifndef JAVA_ONLY
[helpcontext(404100)]
typedef struct DS3DBUFFER
{
[hidden] long lSize;
D3DVECTOR vPostion;
D3DVECTOR vVelocity;
long lInsideConeAngle;
long lOutsideConeAngle;
D3DVECTOR vConeOrientation;
long lConeOutsideVolume;
float minDistance;
float maxDistance;
ds3dModeFlags lMode;
}DS3DBUFFER;
#else
[helpcontext(404200)]
typedef struct DS3DBUFFER
{
[hidden] long lSize;
float vPostion_x;
float vPostion_y;
float vPostion_z;
float vVelocity_x;
float vVelocity_y;
float vVelocity_z;
long lInsideConeAngle;
long lOutsideConeAngle;
float vConeOrientation_x;
float vConeOrientation_y;
float vConeOrientation_z;
long lConeOutsideVolume;
float minDistance;
float maxDistance;
ds3dModeFlags lMode;
}DS3DBUFFER;
#endif
#ifndef JAVA_ONLY
[helpcontext(404300)]
typedef struct DS3DLISTENER
{
[hidden] long lSize; // will be private in java
D3DVECTOR vPosition;
D3DVECTOR vVelocity;
D3DVECTOR vOrientFront;
D3DVECTOR vOrientTop;
float distanceFactor;
float rolloffFactor;
float dopplerFactor;
} DS3DLISTENER;
#else
typedef struct DS3DLISTENER
{
[hidden] long lSize; // will be private in java
float vPostion_x;
float vPostion_y;
float vPostion_z;
float vVelocity_x;
float vVelocity_y;
float vVelocity_z;
float vOrientFront_x;
float vOrientFront_y;
float vOrientFront_z;
float vOrientTop_x;
float vOrientTop_y;
float vOrientTop_z;
float distanceFactor;
float rolloffFactor;
float dopplerFactor;
} DS3DLISTENER;
#endif
[helpcontext(404400)]
typedef struct DSCBCAPS
{
[hidden] long lSize;
dscbCapsFlags lFlags;
long lBufferBytes;
long lReserved;
} DSCBCAPS;
[helpcontext(404500)]
typedef struct DSCCAPS
{
[hidden] long lSize;
dscCapsFlags lFlags;
WaveFormatFlags lFormats;
long lChannels;
} DSCCAPS;
#ifndef JAVA_ONLY
[helpcontext(404600)]
typedef struct DSCBUFFERDESC
{
[hidden]long lSize;
dscbCapsFlags lFlags;
long lBufferBytes;
[hidden] long lReserved;
[hidden] long pFormat;
WAVEFORMATEX fxFormat;
} DSCBUFFERDESC;
#else
typedef struct DSCBUFFERDESC
{
[hidden]long lSize;
dscbCapsFlags lFlags;
long lBufferBytes;
[hidden]long lReserved;
[hidden]long pFormat;
short fxFormat_nFormatTag; /* format type */
short fxFormat_nChannels; /* number of channels (i.e. mono, stereo...) */
long fxFormat_lSamplesPerSec; /* sample rate */
long fxFormat_lAvgBytesPerSec; /* for buffer estimation */
short fxFormat_nBlockAlign; /* block size of data */
short fxFormat_nBitsPerSample; /* number of bits per sample of mono data */
short fxFormat_nSize; /* nbytes of the extra information */
long fxFormat_lExtra; // was byte* seen as an array - extra information (after cbSize)
} DSCBUFFERDESC;
#endif
[helpcontext(404700)]
typedef struct DSBPOSITIONNOTIFY {
long lOffset;
long hEventNotify;
} DSBPOSITIONNOTIFY;
//////////////////////////////////////////////////////////////////////
// Direct Play Types
[helpcontext(404800)]
typedef struct DPCREDENTIALS{
long lFlags; //must be zero
BSTR strUsername;
BSTR strPassword;
BSTR strDomain;
} DPCREDENTIALS;
[helpcontext(404900)]
typedef struct DPSECURITYDESC {
long lFlags; //must be zero
BSTR strSSPIProvider;
BSTR strCAPIProvider;
long lCAPIProviderType;
long lEncryptionAlgorithm;
} DPSECURITYDESC;
#ifdef C_ONLY
//internal to our app
typedef struct DPLAPPINFO{
BSTR strGuidApplication;
BSTR strAppName;
} DPLAPPINFO;
typedef struct DPSESSIONDESC2{
dpSessionFlags lFlags;
BSTR strGuidInstance;
BSTR strGuidApplication;
long lMaxPlayers;
long lCurrentPlayers;
BSTR strSessionName;
BSTR strPassword;
long lUser1;
long lUser2;
long lUser3;
long lUser4;
} DPSESSIONDESC2;
#endif
// DHF begin - _dxj_DirectPlay2, DirectPlayLobby
[helpcontext(405000)]
typedef struct DPCAPS {
[hidden] long lSize;
dpCapsFlags lFlags;
long lMaxBufferSize;
long lMaxQueueSize;
long lMaxPlayers;
long lHundredBaud;
long lLatency;
long lMaxLocalPlayers;
long lHeaderLength;
long lTimeout;
} DPCAPS;
#ifdef C_ONLY
typedef struct DPCHAT {
[hidden] long lSize;
long lFlags; //mustbe zero
[hidden] long lpszMessage;
[hidden] long lpwzMessage;
BSTR message;
} DPCHAT;
typedef struct DPPLAYERINFO {
long lDPID;
dpPlayerTypeFlags lPlayerType;
BSTR strShortName;
BSTR strLongName;
long lFlags; //spead across DPENUMGROUPS and DPENUMPLAYERS
} DPPLAYERINFO;
typedef struct DPSERVICEPROVIDERINFO {
BSTR strGuid;
BSTR strName;
long lMajorVersion;
long lMinorVersion;
long lFlags; //??
} DPSERVICEPROVIDERINFO;
typedef struct DPCONNECTION {
BSTR strGuid;
BSTR strShortName;
BSTR strLongName;
long lFlags; //not used
} DPCONNECTION;
typedef struct DPSERVICEPROVIDER
{
BSTR strGuid;
BSTR strName;
long lMajorVersion;
long lMinorVersion;
} DPSERVICEPROVIDER;
[hidden] //replaced by object
typedef struct DIDEVICEINSTANCE {
[hidden] long lSize;
BSTR strGuidInstance;
BSTR strGuidProduct;
diDeviceType lDevType;
BSTR strInstanceName;
BSTR strProductName;
BSTR strGuidFFDriver;
short nUsagePage;
short nUsage;
} DIDEVICEINSTANCE;
[hidden] //replaced by object
typedef struct DIDEVICEOBJECTINSTANCE {
[hidden] long lSize;
BSTR strGuidType;
long lOfs;
diDFTFlags lType;
diDeviceObjInstanceFlags lFlags;
BSTR strName;
long lFFMaxForce;
long lFFForceResolution;
short nCollectionNumber;
short nDesignatorIndex;
short nUsagePage;
short nUsage;
long lDimension;
short nExponent;
short nReserved;
} DIDEVICEOBJECTINSTANCE;
#endif
//
// DInput
//
[helpcontext(405100)]
typedef struct DIDEVCAPS {
[hidden] long lSize;
diDevCapsFlags lFlags;
diDeviceType lDevType;
long lAxes;
long lButtons;
long lPOVs;
long lFFSamplePeriod;
long lFFMinTimeResolution;
long lFirmwareRevision;
long lHardwareRevision;
long lDriverVersion;
} DIDEVCAPS;
[helpcontext(405200)]
typedef struct DIDEVICEOBJECTDATA{
long lOfs;
long lData;
long lTimeStamp;
long lSequence;
} DIDEVICEOBJECTDATA;
[helpcontext(405300)]
typedef struct DIPROPRANGE {
long lSize;
[hidden]long lHeaderSize;
long lObj;
long lHow;
long lMin;
long lMax;
} DIPROPRANGE;
[helpcontext(405400)]
typedef struct DIPROPLONG {
long lSize;
[hidden]long lHeaderSize;
long lObj;
long lHow;
long lData;
} DIPROPLONG;
[helpcontext(405500)]
typedef struct DIOBJECTDATAFORMAT {
BSTR strGuid;
long lOfs;
diDFTFlags lType;
diDeviceObjInstanceFlags lFlags;
} DIOBJECTDATAFORMAT;
[helpcontext(405600)]
typedef struct DIDATAFORMAT {
[hidden] long lSize;
long lObjSize;
diDataFormatFlags lFlags;
long dataSize;
long numObjs;
[hidden] long pData;
} DIDATAFORMAT;
#ifndef JAVA_ONLY
[helpcontext(405700)]
typedef struct DIMOUSESTATE {
long x;
long y;
long z;
Byte buttons[4];
} DIMOUSESTATE;
#else
typedef struct DIMOUSESTATE {
long x;
long y;
long z;
Byte buttons_0;
Byte buttons_1;
Byte buttons_2;
Byte buttons_3;
} DIMOUSESTATE;
#endif
[helpcontext(405800)]
typedef struct DIKEYBOARDSTATE {
Byte key[256];
} DIKEYBOARDSTATE;
#ifndef JAVA_ONLY
[helpcontext(405900)]
typedef struct DIJOYSTATE {
long x;
long y;
long z;
long rx;
long ry;
long rz;
long slider[2];
long POV[4];
Byte buttons[32];
} DIJOYSTATE;
#else
typedef struct DIJOYSTATE {
long x;
long y;
long z;
long rx;
long ry;
long rz;
long slider_0;
long slider_1;
long POV_0;
long POV_1;
long POV_2;
long POV_3;
Byte buttons_0;
Byte buttons_1;
Byte buttons_2;
Byte buttons_3;
Byte buttons_4;
Byte buttons_5;
Byte buttons_6;
Byte buttons_7;
Byte buttons_8;
Byte buttons_9;
Byte buttons_10;
Byte buttons_11;
Byte buttons_12;
Byte buttons_13;
Byte buttons_14;
Byte buttons_15;
Byte buttons_16;
Byte buttons_17;
Byte buttons_18;
Byte buttons_19;
Byte buttons_20;
Byte buttons_21;
Byte buttons_22;
Byte buttons_23;
Byte buttons_24;
Byte buttons_25;
Byte buttons_26;
Byte buttons_27;
Byte buttons_28;
Byte buttons_29;
Byte buttons_30;
Byte buttons_31;
} DIJOYSTATE;
#endif
[helpcontext(406000)]
typedef struct DIJOYSTATE2 {
long x;
long y;
long z;
long rx;
long ry;
long rz;
long slider[2];
long POV[4];
Byte buttons[128];
long vx;
long vy;
long vz;
long vrx;
long vry;
long vrz;
long vslider[2];
long ax;
long ay;
long az;
long arx;
long ary;
long arz;
long aslider[2];
long fx;
long fy;
long fz;
long frx;
long fry;
long frz;
long fslider[2];
} DIJOYSTATE2;
[helpcontext(406100)]
typedef struct D3DRMPMESHLOADSTATUS {
[hidden] long lSize;
long lPMeshSize;
long lBaseMeshSize;
long lBytesLoaded;
long lVerticesLoaded;
long lFacesLoaded;
d3drmPMeshStatusFlags lFlags;
} D3DRMPMESHLOADSTATUS;
[helpcontext(406200)]
typedef struct D3DRMANIMATIONKEY
{
[hidden] long lSize;
long lKeyType;
float dvTime;
long lID;
float dvX;
float dvY;
float dvZ;
float dvS;
} D3DRMANIMATIONKEY;
[helpcontext(406300)]
typedef struct D3DRMMATERIALOVERRIDE
{
[hidden] long lSize;
d3drmMaterialOverrideFlags lFlags;
D3DCOLORVALUE dcDiffuse;
D3DCOLORVALUE dcAmbient;
D3DCOLORVALUE dcEmissive;
D3DCOLORVALUE dcSpecular;
float dvPower;
[hidden] LPUNKNOWN pTex;
} D3DRMMATERIALOVERRIDE;
// DMUSIC
typedef enum CONST_DMUS_NOTIFICATION_TYPE
{
DMUS_NOTIFY_ON_CHORD =1,
DMUS_NOTIFY_ON_COMMAND =2,
DMUS_NOTIFY_ON_MEASUREANDBEAT =3,
DMUS_NOTIFY_ON_PERFORMANCE=4,
DMUS_NOTIFY_ON_SEGMENT=5,
} CONST_DMUS_NOTIFICATION_TYPE;
[helpcontext(406400)]
typedef struct DMUS_TIMESIGNATURE {
long mtTime;
Byte beatsPerMeasure;
Byte beat;
short gridsPerBeat;
} DMUS_TIMESIGNATURE;
#define MUSIC_TIME long
[helpcontext(406500)]
typedef struct DMUS_NOTIFICATION_PMSG
{
[hidden] long lFlags;
long ctTime;
long mtTime;
long lNotificationType;
long lNotificationOption;
long lField1;
long lField2;
} DMUS_NOTIFICATION_PMSG;
[helpcontext(406600)]
typedef struct DMUS_CURVE_PMSG {
MUSIC_TIME mtDuration;
MUSIC_TIME mtOriginalStart;
MUSIC_TIME mtResetDuration;
short startValue;
short endValue;
short resetValue;
short measure;
short offset;
Byte beat;
Byte grid;
Byte type;
Byte curveShape;
Byte ccData;
Byte flags;
} DMUS_CURVE_PMSG;
[helpcontext(406700)]
typedef struct DMUS_NOTE_PMSG {
MUSIC_TIME mtDuration;
short musicValue;
short measure;
short offset;
Byte beat;
Byte grid;
Byte velocity;
Byte flags;
Byte timeRange;
Byte durRange;
Byte velRange;
Byte playModeFlags;
Byte subChordLevel;
Byte midiValue;
short transpose; //becomes byte
} DMUS_NOTE_PMSG;
[helpcontext(406800)]
typedef struct DMUS_PORTCAPS {
[hidden] long dwSize;
CONST_DMUS_PC_FLAGS lFlags;
[hidden] DXGUID guidPort;
CONST_DMUS_PC_CLASS lClass;
CONST_DMUS_PORT_TYPE lType;
long lMemorySize;
long lMaxChannelGroups;
long lMaxVoices;
long lMaxAudioChannels;
long lEffectFlags;
[hidden] short wszDescription[128];
} DMUS_PORTCAPS;
#ifdef DX61
[helpcontext(406900)]
typedef struct D3DHVERTEX {
long lFlags; /* Homogeneous clipping flags */
float hx;
float hy;
float hz;
} D3DHVERTEX;
#ifndef JAVA_ONLY
[helpcontext(407000)]
typedef struct D3DLIGHT2 {
[hidden] long lSize;
d3dLightType dltType;
D3DCOLORVALUE color;
D3DVECTOR position;
D3DVECTOR direction;
float range;
float falloff;
float attenuation0;
float attenuation1;
float attenuation2;
float theta;
float phi;
d3dLightFlags lFlags;
} D3DLIGHT2 ;
#else
typedef struct D3DLIGHT2 {
long lSize;
d3dLightType dltType;
float color_r; //D3DCOLORVALUE
float color_g; //D3DCOLORVALUE
float color_b; //D3DCOLORVALUE
float color_a; //D3DCOLORVALUE
float position_x; //D3DVECTOR
float position_y;
float position_z;
float direction_x; //D3DVECTOR
float direction_y;
float direction_z;
float range;
float falloff;
float attenuation0;
float attenuation1;
float attenuation2;
float theta;
float phi;
d3dLightFlags lFlags;
} D3DLIGHT2 ;
#endif
[helpcontext(407100)]
typedef struct D3DLIGHTDATA
{
long lSize;
[hidden] long pIn;
long lInSize;
[hidden] long pOut;
long lOutSize;
} D3DLIGHTDATA;
#ifndef JAVA_ONLY
[helpcontext(407200)]
typedef struct D3DMATERIAL {
[hidden] long lSize;
D3DCOLORVALUE diffuse;
D3DCOLORVALUE ambient;
D3DCOLORVALUE specular;
D3DCOLORVALUE emmisive;
float power;
long hTexture;
long lRampSize; //union with hTexture!!!
} D3DMATERIAL;
#else
typedef struct D3DMATERIAL {
long lSize;
float diffuse_r; //d3dColorValue
float diffuse_g;
float diffuse_b;
float diffuse_a;
float ambient_r; //D3DCOLORVALUE
float ambient_g;
float ambient_b;
float ambient_a;
float specular_r; //D3DCOLORVALUE
float specular_g;
float specular_b;
float specular_a;
float emissive_r; //D3DCOLORVALUE
float emissive_g;
float emissive_b;
float emissive_a;
float power;
long hTexture;
long lRampSize; //union with hTexture
} D3DMATERIAL;
#endif
[helpcontext(407300)]
typedef struct D3DSTATS
{
[hidden] long lSize;
long lTrianglesDrawn;
long lLinesDrawn;
long lPointsDrawn;
long lSpansDrawn;
long lVerticesProcessed;
} D3DSTATS;
#ifndef JAVA_ONLY
[helpcontext(407400)]
typedef struct D3DTRANSFORMDATA
{
[hidden]long lSize;
[hidden]long pIn;
[hidden]long lInSize;
[hidden]long pOut;
[hidden]long lOutSize;
[hidden]long pHOut;
d3dClipFlags lClip;
d3dClipFlags lClipIntersection;
d3dClipFlags lClipUnion;
D3DRECT rExtent;
} D3DTRANSFORMDATA;
#else
typedef struct D3DTRANSFORMDATA
{
long lSize;
[hidden]long pIn;
long lInSize;
[hidden] long pOut;
long lOutSize;
[hidden]long pHOut;
d3dClipFlags lClip;
d3dClipFlags lClipIntersection;
d3dClipFlags lClipUnion;
long rExtent_x1;
long rExtent_y1;
long rExtent_x2;
long rExtent_y2;
} D3DTRANSFORMDATA;
#endif
[helpcontext(407500)]
[hidden] typedef struct D3DVIEWPORT {
[hidden] long lSize;
long lX;
long lY;
long lWidth;
long lHeight;
float scaleX;
float scaleY;
float maxX;
float maxY;
float minZ;
float maxZ;
} D3DVIEWPORT ;
[helpcontext(407600)]
typedef struct D3DVIEWPORT2 {
[hidden] long lSize;
long lX;
long lY;
long lWidth;
long lHeight;
float clipX;
float clipY;
float clipWidth;
float clipHeight;
float minZ;
float maxZ;
} D3DVIEWPORT2;
#endif
[helpcontext(407700)]
typedef struct DIENVELOPE {
[hidden] long lSize;
long lAttackLevel;
long lAttackTime;
long lFadeLevel;
long lFadeTime;
} DIENVELOPE;
[helpcontext(407800)]
typedef struct DIRAMPFORCE {
long lRangeStart; //ramp force
long lRangeEnd; //ramp force
} DIRAMPFORCE;
[helpcontext(407900)]
typedef struct DIPERIODICFORCE {
long lMagnitude; //periodic
long lOffset; //periodic
long lPhase; //periodic
long lPeriod; //periodic
} DIPERIODICFORCE;
[helpcontext(408000)]
typedef struct DICONDITION {
long lOffset; //condition
long lPositiveCoefficient; //condition
long lNegativeCoefficient; //condition
long lPositiveSaturation; //condition
long lNegativeSaturation; //condition
long lDeadBand; //condition
//VARIANT_BOOL bDirectional; //condition
} DICONDITION;
[helpcontext(408100)]
typedef struct DICONSTANTFORCE {
long lMagnitude;
} DICONSTANTFORCE;
[hidden]
typedef struct DIAXISOFFSETS{
long x;
long y;
} DIAXISOFFSETS;
[helpcontext(408200)]
typedef struct DIEFFECT {
[hidden] long dwSize;
long lFlags; //dwTriggerButton and rgdwAxes
//use DIEFF_OBJECTIDS
// DIEFF_OBJECTOFFSETS
//rglDirection
//depends DIEFF_CARTESIAN
// DIEFF_POLAR
// DIEFF_SPHERICAL
long lDuration; //durration of the effect
long lSamplePeriod; //period
long lGain; //magnitude???
long lTriggerButton; //DIEFF_OBJECTIDS
long lTriggerRepeatInterval;
[hidden] long cAxes; //4
[hidden] long lprgdwAxes; //DIEFF_OBJECTIDS
//
[hidden] long lprglDirection;
[hidden] long lpEnvelope;
[hidden] long cbTypeSpecificParams;
[hidden] long lpvTypeSpecificParams;
long lStartDelay;
long x; // x
long y; // y
DIRAMPFORCE rampForce;
DIPERIODICFORCE periodicForce;
DICONSTANTFORCE constantForce;
DICONDITION conditionX;
DICONDITION conditionY;
diConditionFlags conditionFlags;
BOOL bUseEnvelope;
DIENVELOPE envelope;
[hidden] DIAXISOFFSETS axisOffsets;
} DIEFFECT;
[helpcontext(408300)]
typedef struct D3DDEVINFO_TEXTUREMANAGER {
//cant be VARIANT_BOOL because that would only be 16 bit
long bThrashing; /* indicates if thrashing */
long lNumEvicts; /* number of textures evicted */
long lNumVidCreates; /* number of textures created in video memory */
long lNumTexturesUsed; /* number of textures used */
long lNumUsedTexInVid; /* number of used textures present in video memory */
long lWorkingSet; /* number of textures in video memory */
long lWorkingSetBytes; /* number of bytes in video memory */
long lTotalManaged; /* total number of managed textures */
long lTotalBytes; /* total number of bytes of managed textures */
long lLastPri; /* priority of last texture evicted */
} D3DDEVINFO_TEXTUREMANAGER;
//need to add to master help
[helpcontext(408400)]
typedef struct DDOVERLAYFX{
[hidden] long lSize;
long lAlphaEdgeBlendBitDepth;
long lAlphaEdgeBlend;
[hidden] long lReserved;
long lAlphaDestConstBitDepth;
long lAlphaDestConst; //union LPDIRECTDRAWSURFACE lpDDSAlphaDest;
long lAlphaSrcConstBitDepth;
long lAlphaSrcConst; //union LPDIRECTDRAWSURFACE lpDDSAlphaSrc;
DDCOLORKEY dckDestColorkey;
DDCOLORKEY dckSrcColorkey;
ddOverFxFlags lDDFX;
long lFlags;
} DDOVERLAYFX;
[helpcontext(408500)]
typedef struct D3DDEVINFO_TEXTURING {
long lNumLoads; /* counts Load() API calls */
long lApproxBytesLoaded; /* Approximate number bytes loaded via Load() */
long lNumPreLoads; /* counts PreLoad() API calls */
long lNumSet; /* counts SetTexture() API calls */
long lNumCreates; /* counts texture creates */
long lNumDestroys; /* counts texture destroys */
long lNumSetPriorities; /* counts SetPriority() API calls */
long lNumSetLODs; /* counts SetLOD() API calls */
long lNumLocks; /* counts number of texture locks */
long lNumGetDCs; /* counts number of GetDCs to textures */
} D3DDEVINFO_TEXTURING;