: lo-word ( wparam -- lo ) <short> *short ; inline
: hi-word ( wparam -- hi ) -16 shift lo-word ; inline
: >lo-hi ( WORD -- array ) [ lo-word ] [ hi-word ] bi 2array ;
+: GET_APPCOMMAND_LPARAM ( lParam -- appCommand )
+ hi-word FAPPCOMMAND_MASK lo-word bitnot bitand ; inline
: crlf>lf ( str -- str' )
CHAR: \r swap remove ;
ReleaseCapture win32-error=0/f
mouse-captured off ;
+: handle-app-command ( hWnd uMsg wParam lParam -- )
+ GET_APPCOMMAND_LPARAM
+ {
+ { APPCOMMAND_BROWSER_BACKWARD [ pick window left-action send-action ] }
+ { APPCOMMAND_BROWSER_FORWARD [ pick window right-action send-action ] }
+ } case 3drop ;
+
: handle-wm-buttondown ( hWnd uMsg wParam lParam -- )
[
over set-capture
[ handle-wm-set-focus 0 ] WM_SETFOCUS add-wm-handler
[ handle-wm-kill-focus 0 ] WM_KILLFOCUS add-wm-handler
+[ handle-app-command 0 ] WM_APPCOMMAND add-wm-handler
+
[ handle-wm-buttondown 0 ] WM_LBUTTONDOWN add-wm-handler
[ handle-wm-buttondown 0 ] WM_MBUTTONDOWN add-wm-handler
[ handle-wm-buttondown 0 ] WM_RBUTTONDOWN add-wm-handler
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct
+windows.kernel32 windows.types ;
+IN: windows.directx.audiodefs
+
+STRUCT: WAVEFORMATEX
+ { wFormatTag WORD }
+ { nChannels WORD }
+ { nSamplesPerSec DWORD }
+ { nAvgBytesPerSec DWORD }
+ { nBlockAlign WORD }
+ { wBitsPerSample WORD }
+ { cbSize WORD } ;
+
+TYPEDEF: WAVEFORMATEX* PWAVEFORMATEX
+TYPEDEF: WAVEFORMATEX* NPWAVEFORMATEX
+TYPEDEF: WAVEFORMATEX* LPWAVEFORMATEX
+TYPEDEF: WAVEFORMATEX* PCWAVEFORMATEX
+TYPEDEF: WAVEFORMATEX* LPCWAVEFORMATEX
+
+UNION-STRUCT: WAVEFORMATEXTENSIBLE_UNION
+ { wValidBitsPerSample WORD }
+ { wSamplesPerBlock WORD }
+ { wReserved WORD } ;
+
+STRUCT: WAVEFORMATEXTENSIBLE
+ { Format WAVEFORMATEX }
+ { Union WAVEFORMATEXTENSIBLE_UNION }
+ { dwChannelMask DWORD }
+ { SubFormat GUID } ;
+
+TYPEDEF: WAVEFORMATEXTENSIBLE* PWAVEFORMATEXTENSIBLE
+TYPEDEF: WAVEFORMATEXTENSIBLE* LPWAVEFORMATEXTENSIBLE
+TYPEDEF: WAVEFORMATEXTENSIBLE* PCWAVEFORMATEXTENSIBLE
+TYPEDEF: WAVEFORMATEXTENSIBLE* LPCWAVEFORMATEXTENSIBLE
+
+STRUCT: WAVEFORMAT
+ { wFormatTag WORD }
+ { nChannels WORD }
+ { nSamplesPerSec DWORD }
+ { nAvgBytesPerSec DWORD }
+ { nBlockAlign WORD } ;
+TYPEDEF: WAVEFORMAT* PWAVEFORMAT
+TYPEDEF: WAVEFORMAT* NPWAVEFORMAT
+TYPEDEF: WAVEFORMAT* LPWAVEFORMAT
+
+STRUCT: PCMWAVEFORMAT
+ { wf WAVEFORMAT }
+ { wBitsPerSample WORD } ;
+TYPEDEF: PCMWAVEFORMAT* PPCMWAVEFORMAT
+TYPEDEF: PCMWAVEFORMAT* NPPCMWAVEFORMAT
+TYPEDEF: PCMWAVEFORMAT* LPPCMWAVEFORMAT
+
+CONSTANT: WAVE_FORMAT_PCM 1
+
+STRUCT: ADPCMCOEFSET
+ { iCoef1 short }
+ { iCoef2 short } ;
+
+STRUCT: ADPCMWAVEFORMAT
+ { wfx WAVEFORMATEX }
+ { wSamplesPerBlock WORD }
+ { wNumCoef WORD }
+ { aCoef ADPCMCOEFSET[7] } ;
+
+CONSTANT: WAVE_FORMAT_ADPCM 2
+CONSTANT: WAVE_FORMAT_UNKNOWN 0
+CONSTANT: WAVE_FORMAT_IEEE_FLOAT 3
+CONSTANT: WAVE_FORMAT_MPEGLAYER3 HEX: 0055
+CONSTANT: WAVE_FORMAT_DOLBY_AC3_SPDIF HEX: 0092
+CONSTANT: WAVE_FORMAT_WMAUDIO2 HEX: 0161
+CONSTANT: WAVE_FORMAT_WMAUDIO3 HEX: 0162
+CONSTANT: WAVE_FORMAT_WMASPDIF HEX: 0164
+CONSTANT: WAVE_FORMAT_EXTENSIBLE HEX: FFFE
+
+CONSTANT: SPEAKER_FRONT_LEFT HEX: 00000001
+CONSTANT: SPEAKER_FRONT_RIGHT HEX: 00000002
+CONSTANT: SPEAKER_FRONT_CENTER HEX: 00000004
+CONSTANT: SPEAKER_LOW_FREQUENCY HEX: 00000008
+CONSTANT: SPEAKER_BACK_LEFT HEX: 00000010
+CONSTANT: SPEAKER_BACK_RIGHT HEX: 00000020
+CONSTANT: SPEAKER_FRONT_LEFT_OF_CENTER HEX: 00000040
+CONSTANT: SPEAKER_FRONT_RIGHT_OF_CENTER HEX: 00000080
+CONSTANT: SPEAKER_BACK_CENTER HEX: 00000100
+CONSTANT: SPEAKER_SIDE_LEFT HEX: 00000200
+CONSTANT: SPEAKER_SIDE_RIGHT HEX: 00000400
+CONSTANT: SPEAKER_TOP_CENTER HEX: 00000800
+CONSTANT: SPEAKER_TOP_FRONT_LEFT HEX: 00001000
+CONSTANT: SPEAKER_TOP_FRONT_CENTER HEX: 00002000
+CONSTANT: SPEAKER_TOP_FRONT_RIGHT HEX: 00004000
+CONSTANT: SPEAKER_TOP_BACK_LEFT HEX: 00008000
+CONSTANT: SPEAKER_TOP_BACK_CENTER HEX: 00010000
+CONSTANT: SPEAKER_TOP_BACK_RIGHT HEX: 00020000
+CONSTANT: SPEAKER_RESERVED HEX: 7FFC0000
+CONSTANT: SPEAKER_ALL HEX: 80000000
+
+CONSTANT: SPEAKER_MONO HEX: 00000004
+CONSTANT: SPEAKER_STEREO HEX: 00000003
+CONSTANT: SPEAKER_2POINT1 HEX: 0000000B
+CONSTANT: SPEAKER_SURROUND HEX: 00010007
+CONSTANT: SPEAKER_QUAD HEX: 00028003
+CONSTANT: SPEAKER_4POINT1 HEX: 0002800B
+CONSTANT: SPEAKER_5POINT1 HEX: 0002800F
+CONSTANT: SPEAKER_7POINT1 HEX: 000280CF
+CONSTANT: SPEAKER_5POINT1_SURROUND HEX: 0000060F
+CONSTANT: SPEAKER_7POINT1_SURROUND HEX: 0002860F
--- /dev/null
+Erik Charlebois
--- /dev/null
+DirectX audio bindings. Corresponds to audiodefs.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.d3dbasetypes windows.directx.dcommon
+windows.directx.dxgi windows.directx.dxgiformat windows.ole32 windows.types ;
+IN: windows.directx.d2d1
+
+LIBRARY: d2d1
+
+CONSTANT: D2D1_INVALID_TAG HEX: ffffffffffffffff
+CONSTANT: D2D1_DEFAULT_FLATTENING_TOLERANCE 0.25
+
+CONSTANT: D2D1_ALPHA_MODE_UNKNOWN 0
+CONSTANT: D2D1_ALPHA_MODE_PREMULTIPLIED 1
+CONSTANT: D2D1_ALPHA_MODE_STRAIGHT 2
+CONSTANT: D2D1_ALPHA_MODE_IGNORE 3
+CONSTANT: D2D1_ALPHA_MODE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_ALPHA_MODE
+
+CONSTANT: D2D1_GAMMA_2_2 0
+CONSTANT: D2D1_GAMMA_1_0 1
+CONSTANT: D2D1_GAMMA_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_GAMMA
+
+CONSTANT: D2D1_OPACITY_MASK_CONTENT_GRAPHICS 0
+CONSTANT: D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL 1
+CONSTANT: D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE 2
+CONSTANT: D2D1_OPACITY_MASK_CONTENT_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_OPACITY_MASK_CONTENT
+
+CONSTANT: D2D1_EXTEND_MODE_CLAMP 0
+CONSTANT: D2D1_EXTEND_MODE_WRAP 1
+CONSTANT: D2D1_EXTEND_MODE_MIRROR 2
+CONSTANT: D2D1_EXTEND_MODE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_EXTEND_MODE
+
+CONSTANT: D2D1_ANTIALIAS_MODE_PER_PRIMITIVE 0
+CONSTANT: D2D1_ANTIALIAS_MODE_ALIASED 1
+CONSTANT: D2D1_ANTIALIAS_MODE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_ANTIALIAS_MODE
+
+CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_DEFAULT 0
+CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE 1
+CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE 2
+CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_ALIASED 3
+CONSTANT: D2D1_TEXT_ANTIALIAS_MODE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_TEXT_ANTIALIAS_MODE
+
+CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR 0
+CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_LINEAR 1
+CONSTANT: D2D1_BITMAP_INTERPOLATION_MODE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_BITMAP_INTERPOLATION_MODE
+
+CONSTANT: D2D1_DRAW_TEXT_OPTIONS_NO_SNAP HEX: 00000001
+CONSTANT: D2D1_DRAW_TEXT_OPTIONS_CLIP HEX: 00000002
+CONSTANT: D2D1_DRAW_TEXT_OPTIONS_NONE HEX: 00000000
+CONSTANT: D2D1_DRAW_TEXT_OPTIONS_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_DRAW_TEXT_OPTIONS
+
+STRUCT: D2D1_PIXEL_FORMAT
+ { format DXGI_FORMAT }
+ { alphaMode D2D1_ALPHA_MODE } ;
+
+TYPEDEF: D2D_POINT_2U D2D1_POINT_2U
+TYPEDEF: D2D_POINT_2F D2D1_POINT_2F
+TYPEDEF: D2D_RECT_F D2D1_RECT_F
+TYPEDEF: D2D_RECT_U D2D1_RECT_U
+TYPEDEF: D2D_SIZE_F D2D1_SIZE_F
+TYPEDEF: D2D_SIZE_U D2D1_SIZE_U
+TYPEDEF: D2D_COLOR_F D2D1_COLOR_F
+TYPEDEF: D2D_MATRIX_3X2_F D2D1_MATRIX_3X2_F
+TYPEDEF: UINT64 D2D1_TAG
+
+STRUCT: D2D1_BITMAP_PROPERTIES
+ { pixelFormat D2D1_PIXEL_FORMAT }
+ { dpiX FLOAT }
+ { dpiY FLOAT } ;
+
+STRUCT: D2D1_GRADIENT_STOP
+ { position FLOAT }
+ { color D2D1_COLOR_F } ;
+
+STRUCT: D2D1_BRUSH_PROPERTIES
+ { opacity FLOAT }
+ { transform D2D1_MATRIX_3X2_F } ;
+
+STRUCT: D2D1_BITMAP_BRUSH_PROPERTIES
+ { extendModeX D2D1_EXTEND_MODE }
+ { extendModeY D2D1_EXTEND_MODE }
+ { interpolationMode D2D1_BITMAP_INTERPOLATION_MODE } ;
+
+STRUCT: D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES
+ { startPoint D2D1_POINT_2F }
+ { endPoint D2D1_POINT_2F } ;
+
+STRUCT: D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES
+ { center D2D1_POINT_2F }
+ { gradientOriginOffset D2D1_POINT_2F }
+ { radiusX FLOAT }
+ { radiusY FLOAT } ;
+
+CONSTANT: D2D1_ARC_SIZE_SMALL 0
+CONSTANT: D2D1_ARC_SIZE_LARGE 1
+CONSTANT: D2D1_ARC_SIZE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_ARC_SIZE
+
+CONSTANT: D2D1_CAP_STYLE_FLAT 0
+CONSTANT: D2D1_CAP_STYLE_SQUARE 1
+CONSTANT: D2D1_CAP_STYLE_ROUND 2
+CONSTANT: D2D1_CAP_STYLE_TRIANGLE 3
+CONSTANT: D2D1_CAP_STYLE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_CAP_STYLE
+
+CONSTANT: D2D1_DASH_STYLE_SOLID 0
+CONSTANT: D2D1_DASH_STYLE_DASH 1
+CONSTANT: D2D1_DASH_STYLE_DOT 2
+CONSTANT: D2D1_DASH_STYLE_DASH_DOT 3
+CONSTANT: D2D1_DASH_STYLE_DASH_DOT_DOT 4
+CONSTANT: D2D1_DASH_STYLE_CUSTOM 5
+CONSTANT: D2D1_DASH_STYLE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_DASH_STYLE
+
+CONSTANT: D2D1_LINE_JOIN_MITER 0
+CONSTANT: D2D1_LINE_JOIN_BEVEL 1
+CONSTANT: D2D1_LINE_JOIN_ROUND 2
+CONSTANT: D2D1_LINE_JOIN_MITER_OR_BEVEL 3
+CONSTANT: D2D1_LINE_JOIN_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_LINE_JOIN
+
+CONSTANT: D2D1_COMBINE_MODE_UNION 0
+CONSTANT: D2D1_COMBINE_MODE_INTERSECT 1
+CONSTANT: D2D1_COMBINE_MODE_XOR 2
+CONSTANT: D2D1_COMBINE_MODE_EXCLUDE 3
+CONSTANT: D2D1_COMBINE_MODE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_COMBINE_MODE
+
+CONSTANT: D2D1_GEOMETRY_RELATION_UNKNOWN 0
+CONSTANT: D2D1_GEOMETRY_RELATION_DISJOINT 1
+CONSTANT: D2D1_GEOMETRY_RELATION_IS_CONTAINED 2
+CONSTANT: D2D1_GEOMETRY_RELATION_CONTAINS 3
+CONSTANT: D2D1_GEOMETRY_RELATION_OVERLAP 4
+CONSTANT: D2D1_GEOMETRY_RELATION_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_GEOMETRY_RELATION
+
+CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES 0
+CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES 1
+CONSTANT: D2D1_GEOMETRY_SIMPLIFICATION_OPTION_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_GEOMETRY_SIMPLIFICATION_OPTION
+
+CONSTANT: D2D1_FIGURE_BEGIN_FILLED 0
+CONSTANT: D2D1_FIGURE_BEGIN_HOLLOW 1
+CONSTANT: D2D1_FIGURE_BEGIN_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_FIGURE_BEGIN
+
+CONSTANT: D2D1_FIGURE_END_OPEN 0
+CONSTANT: D2D1_FIGURE_END_CLOSED 1
+CONSTANT: D2D1_FIGURE_END_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_FIGURE_END
+
+STRUCT: D2D1_BEZIER_SEGMENT
+ { point1 D2D1_POINT_2F }
+ { point2 D2D1_POINT_2F }
+ { point3 D2D1_POINT_2F } ;
+
+STRUCT: D2D1_TRIANGLE
+ { point1 D2D1_POINT_2F }
+ { point2 D2D1_POINT_2F }
+ { point3 D2D1_POINT_2F } ;
+
+CONSTANT: D2D1_PATH_SEGMENT_NONE HEX: 00000000
+CONSTANT: D2D1_PATH_SEGMENT_FORCE_UNSTROKED HEX: 00000001
+CONSTANT: D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN HEX: 00000002
+CONSTANT: D2D1_PATH_SEGMENT_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_PATH_SEGMENT
+
+CONSTANT: D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE 0
+CONSTANT: D2D1_SWEEP_DIRECTION_CLOCKWISE 1
+CONSTANT: D2D1_SWEEP_DIRECTION_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_SWEEP_DIRECTION
+
+CONSTANT: D2D1_FILL_MODE_ALTERNATE 0
+CONSTANT: D2D1_FILL_MODE_WINDING 1
+CONSTANT: D2D1_FILL_MODE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_FILL_MODE
+
+STRUCT: D2D1_ARC_SEGMENT
+ { point D2D1_POINT_2F }
+ { size D2D1_SIZE_F }
+ { rotationAngle FLOAT }
+ { sweepDirection D2D1_SWEEP_DIRECTION }
+ { arcSize D2D1_ARC_SIZE } ;
+
+STRUCT: D2D1_QUADRATIC_BEZIER_SEGMENT
+ { point1 D2D1_POINT_2F }
+ { point2 D2D1_POINT_2F } ;
+
+STRUCT: D2D1_ELLIPSE
+ { point D2D1_POINT_2F }
+ { radiusX FLOAT }
+ { radiusY FLOAT } ;
+
+STRUCT: D2D1_ROUNDED_RECT
+ { rect D2D1_RECT_F }
+ { radiusX FLOAT }
+ { radiusY FLOAT } ;
+
+STRUCT: D2D1_STROKE_STYLE_PROPERTIES
+ { startCap D2D1_CAP_STYLE }
+ { endCap D2D1_CAP_STYLE }
+ { dashCap D2D1_CAP_STYLE }
+ { lineJoin D2D1_LINE_JOIN }
+ { miterLimit FLOAT }
+ { dashStyle D2D1_DASH_STYLE }
+ { dashOffset FLOAT } ;
+
+CONSTANT: D2D1_LAYER_OPTIONS_NONE HEX: 00000000
+CONSTANT: D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE HEX: 00000001
+CONSTANT: D2D1_LAYER_OPTIONS_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_LAYER_OPTIONS
+
+C-TYPE: ID2D1Geometry
+C-TYPE: ID2D1Brush
+C-TYPE: ID2D1RenderTarget
+
+STRUCT: D2D1_LAYER_PARAMETERS
+ { contentBounds D2D1_RECT_F }
+ { geometricMask ID2D1Geometry* }
+ { maskAntialiasMode D2D1_ANTIALIAS_MODE }
+ { maskTransform D2D1_MATRIX_3X2_F }
+ { opacity FLOAT }
+ { opacityBrush ID2D1Brush* }
+ { layerOptions D2D1_LAYER_OPTIONS } ;
+
+CONSTANT: D2D1_WINDOW_STATE_NONE HEX: 00000000
+CONSTANT: D2D1_WINDOW_STATE_OCCLUDED HEX: 00000001
+CONSTANT: D2D1_WINDOW_STATE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_WINDOW_STATE
+
+CONSTANT: D2D1_RENDER_TARGET_TYPE_DEFAULT 0
+CONSTANT: D2D1_RENDER_TARGET_TYPE_SOFTWARE 1
+CONSTANT: D2D1_RENDER_TARGET_TYPE_HARDWARE 2
+CONSTANT: D2D1_RENDER_TARGET_TYPE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_RENDER_TARGET_TYPE
+
+CONSTANT: D2D1_FEATURE_LEVEL_DEFAULT 0
+CONSTANT: D2D1_FEATURE_LEVEL_9 HEX: 9100
+CONSTANT: D2D1_FEATURE_LEVEL_10 HEX: a000
+CONSTANT: D2D1_FEATURE_LEVEL_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_FEATURE_LEVEL
+
+CONSTANT: D2D1_RENDER_TARGET_USAGE_NONE HEX: 00000000
+CONSTANT: D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING HEX: 00000001
+CONSTANT: D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE HEX: 00000002
+CONSTANT: D2D1_RENDER_TARGET_USAGE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_RENDER_TARGET_USAGE
+
+CONSTANT: D2D1_PRESENT_OPTIONS_NONE HEX: 00000000
+CONSTANT: D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS HEX: 00000001
+CONSTANT: D2D1_PRESENT_OPTIONS_IMMEDIATELY HEX: 00000002
+CONSTANT: D2D1_PRESENT_OPTIONS_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_PRESENT_OPTIONS
+
+STRUCT: D2D1_RENDER_TARGET_PROPERTIES
+ { type D2D1_RENDER_TARGET_TYPE }
+ { pixelFormat D2D1_PIXEL_FORMAT }
+ { dpiX FLOAT }
+ { dpiY FLOAT }
+ { usage D2D1_RENDER_TARGET_USAGE }
+ { minLevel D2D1_FEATURE_LEVEL } ;
+
+STRUCT: D2D1_HWND_RENDER_TARGET_PROPERTIES
+ { hwnd HWND }
+ { pixelSize D2D1_SIZE_U }
+ { presentOptions D2D1_PRESENT_OPTIONS } ;
+
+CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE HEX: 00000000
+CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE HEX: 00000001
+CONSTANT: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS
+
+STRUCT: D2D1_DRAWING_STATE_DESCRIPTION
+ { antialiasMode D2D1_ANTIALIAS_MODE }
+ { textAntialiasMode D2D1_TEXT_ANTIALIAS_MODE }
+ { tag1 D2D1_TAG }
+ { tag2 D2D1_TAG }
+ { transform D2D1_MATRIX_3X2_F } ;
+
+CONSTANT: D2D1_DC_INITIALIZE_MODE_COPY 0
+CONSTANT: D2D1_DC_INITIALIZE_MODE_CLEAR 1
+CONSTANT: D2D1_DC_INITIALIZE_MODE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_DC_INITIALIZE_MODE
+
+CONSTANT: D2D1_DEBUG_LEVEL_NONE 0
+CONSTANT: D2D1_DEBUG_LEVEL_ERROR 1
+CONSTANT: D2D1_DEBUG_LEVEL_WARNING 2
+CONSTANT: D2D1_DEBUG_LEVEL_INFORMATION 3
+CONSTANT: D2D1_DEBUG_LEVEL_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_DEBUG_LEVEL
+
+CONSTANT: D2D1_FACTORY_TYPE_SINGLE_THREADED 0
+CONSTANT: D2D1_FACTORY_TYPE_MULTI_THREADED 1
+CONSTANT: D2D1_FACTORY_TYPE_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int D2D1_FACTORY_TYPE
+
+STRUCT: D2D1_FACTORY_OPTIONS
+ { debugLevel D2D1_DEBUG_LEVEL } ;
+
+COM-INTERFACE: ID2D1Resource IUnknown {2cd90691-12e2-11dc-9fed-001143a055f9}
+ void GetFactory ( ID2D1Factory** factory ) ;
+
+COM-INTERFACE: ID2D1Bitmap ID2D1Resource {a2296057-ea42-4099-983b-539fb6505426}
+ D2D1_SIZE_F GetSize ( )
+ D2D1_SIZE_U GetPixelSize ( )
+ D2D1_PIXEL_FORMAT GetPixelFormat ( )
+ void GetDpi ( FLOAT* dpiX, FLOAT* dpiY )
+ HRESULT CopyFromBitmap ( D2D1_POINT_2U* destPoint, ID2D1Bitmap* bitmap, D2D1_RECT_U* srcRect )
+ HRESULT CopyFromRenderTarget ( D2D1_POINT_2U* destPoint, ID2D1RenderTarget* renderTarget, D2D1_RECT_U* srcRect )
+ HRESULT CopyFromMemory ( D2D1_RECT_U* dstRect, void* srcData, UINT32 pitch ) ;
+
+COM-INTERFACE: ID2D1GradientStopCollection ID2D1Resource {2cd906a7-12e2-11dc-9fed-001143a055f9}
+ UINT32 GetGradientStopCount ( )
+ void GetGradientStops ( D2D1_GRADIENT_STOP* gradientStops, UINT gradientStopsCount )
+ D2D1_GAMMA GetColorInterpolationGamma ( )
+ D2D1_EXTEND_MODE GetExtendMode ( ) ;
+
+COM-INTERFACE: ID2D1Brush ID2D1Resource {2cd906a8-12e2-11dc-9fed-001143a055f9}
+ void SetOpacity ( FLOAT opacity )
+ void SetTransform ( D2D1_MATRIX_3X2_F* transform )
+ FLOAT GetOpacity ( )
+ void GetTransform ( D2D1_MATRIX_3X2_F* transform ) ;
+
+COM-INTERFACE: ID2D1BitmapBrush ID2D1Brush {2cd906aa-12e2-11dc-9fed-001143a055f9}
+ void SetExtendModeX ( D2D1_EXTEND_MODE extendModeX )
+ void SetExtendModeY ( D2D1_EXTEND_MODE extendModeY )
+ void SetInterpolationMode ( D2D1_BITMAP_INTERPOLATION_MODE interpolationMode )
+ void SetBitmap ( ID2D1Bitmap* bitmap )
+ D2D1_EXTEND_MODE GetExtendModeX ( )
+ D2D1_EXTEND_MODE GetExtendModeY ( )
+ D2D1_BITMAP_INTERPOLATION_MODE GetInterpolationMode ( )
+ void GetBitmap ( ID2D1Bitmap** bitmap ) ;
+
+COM-INTERFACE: ID2D1SolidColorBrush ID2D1Brush {2cd906a9-12e2-11dc-9fed-001143a055f9}
+ void SetColor ( D2D1_COLOR_F* color )
+ D2D1_COLOR_F GetColor ( ) ;
+
+COM-INTERFACE: ID2D1LinearGradientBrush ID2D1Brush {2cd906ab-12e2-11dc-9fed-001143a055f9}
+ void SetStartPoint ( D2D1_POINT_2F startPoint )
+ void SetEndPoint ( D2D1_POINT_2F endPoint )
+ D2D1_POINT_2F GetStartPoint ( )
+ D2D1_POINT_2F GetEndPoint ( )
+ void GetGradientStopCollection ( ID2D1GradientStopCollection** gradientStopCollection ) ;
+
+COM-INTERFACE: ID2D1RadialGradientBrush ID2D1Brush {2cd906ac-12e2-11dc-9fed-001143a055f9}
+ void SetCenter ( D2D1_POINT_2F center )
+ void SetGradientOriginOffset ( D2D1_POINT_2F gradientOriginOffset )
+ void SetRadiusX ( FLOAT radiusX )
+ void SetRadiusY ( FLOAT radiusY )
+ D2D1_POINT_2F GetCenter ( )
+ D2D1_POINT_2F GetGradientOriginOffset ( )
+ FLOAT GetRadiusX ( )
+ FLOAT GetRadiusY ( )
+ void GetGradientStopCollection ( ID2D1GradientStopCollection** gradientStopCollection ) ;
+
+COM-INTERFACE: ID2D1StrokeStyle ID2D1Resource {2cd9069d-12e2-11dc-9fed-001143a055f9}
+ D2D1_CAP_STYLE GetStartCap ( )
+ D2D1_CAP_STYLE GetEndCap ( )
+ D2D1_CAP_STYLE GetDashCap ( )
+ FLOAT GetMiterLimit ( )
+ D2D1_LINE_JOIN GetLineJoin ( )
+ FLOAT GetDashOffset ( )
+ D2D1_DASH_STYLE GetDashStyle ( )
+ UINT32 GetDashesCount ( )
+ void GetDashes ( FLOAT* dashes, UINT dashesCount ) ;
+
+C-TYPE: ID2D1SimplifiedGeometrySink
+C-TYPE: ID2D1TessellationSink
+
+COM-INTERFACE: ID2D1Geometry ID2D1Resource {2cd906a1-12e2-11dc-9fed-001143a055f9}
+ HRESULT GetBounds ( D2D1_MATRIX_3X2_F* worldTransform, D2D1_RECT_F* bounds )
+ HRESULT GetWidenedBounds ( FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, D2D1_RECT_F* bounds )
+ HRESULT StrokeContainsPoint ( D2D1_POINT_2F point, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, BOOL* contains )
+ HRESULT FillContainsPoint ( D2D1_POINT_2F point, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, BOOL* contains )
+ HRESULT CompareWithGeometry ( ID2D1Geometry* inputGeometry, D2D1_MATRIX_3X2_F* inputGeometryTransform, FLOAT flatteningTolerance, D2D1_GEOMETRY_RELATION* relation )
+ HRESULT Simplify ( D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
+ HRESULT Tessellate ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1TessellationSink* tessellationSink )
+ HRESULT CombineWithGeometry ( ID2D1Geometry* inputGeometry, D2D1_COMBINE_MODE combineMode, D2D1_MATRIX_3X2_F* inputGeometryTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
+ HRESULT Outline ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink )
+ HRESULT ComputeArea ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, FLOAT* area )
+ HRESULT ComputeLength ( D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, FLOAT* length )
+ HRESULT ComputePointAtLength ( FLOAT length, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, D2D1_POINT_2F* point, D2D1_POINT_2F* unitTangentVector )
+ HRESULT Widen ( FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle, D2D1_MATRIX_3X2_F* worldTransform, FLOAT flatteningTolerance, ID2D1SimplifiedGeometrySink* geometrySink ) ;
+
+COM-INTERFACE: ID2D1RectangleGeometry ID2D1Geometry {2cd906a2-12e2-11dc-9fed-001143a055f9}
+ void GetRect ( D2D1_RECT_F* rect ) ;
+
+COM-INTERFACE: ID2D1RoundedRectangleGeometry ID2D1Geometry {2cd906a3-12e2-11dc-9fed-001143a055f9}
+ void GetRoundedRect ( D2D1_ROUNDED_RECT* roundedRect ) ;
+
+COM-INTERFACE: ID2D1EllipseGeometry ID2D1Geometry {2cd906a4-12e2-11dc-9fed-001143a055f9}
+ void GetEllipse ( D2D1_ELLIPSE* ellipse ) ;
+
+COM-INTERFACE: ID2D1GeometryGroup ID2D1Geometry {2cd906a6-12e2-11dc-9fed-001143a055f9}
+ D2D1_FILL_MODE GetFillMode ( )
+ UINT32 GetSourceGeometryCount ( )
+ void GetSourceGeometries ( ID2D1Geometry** geometries, UINT geometriesCount ) ;
+
+COM-INTERFACE: ID2D1TransformedGeometry ID2D1Geometry {2cd906bb-12e2-11dc-9fed-001143a055f9}
+ void GetSourceGeometry ( ID2D1Geometry** sourceGeometry )
+ void GetTransform ( D2D1_MATRIX_3X2_F* transform ) ;
+
+COM-INTERFACE: ID2D1SimplifiedGeometrySink IUnknown {2cd9069e-12e2-11dc-9fed-001143a055f9}
+ void SetFillMode ( D2D1_FILL_MODE fillMode )
+ void SetSegmentFlags ( D2D1_PATH_SEGMENT vertexFlags )
+ void BeginFigure ( D2D1_POINT_2F startPoint, D2D1_FIGURE_BEGIN figureBegin )
+ void AddLines ( D2D1_POINT_2F* points, UINT pointsCount )
+ void AddBeziers ( D2D1_BEZIER_SEGMENT* beziers, UINT beziersCount )
+ void EndFigure ( D2D1_FIGURE_END figureEnd )
+ HRESULT Close ( ) ;
+
+COM-INTERFACE: ID2D1GeometrySink ID2D1SimplifiedGeometrySink {2cd9069f-12e2-11dc-9fed-001143a055f9}
+ void AddLine ( D2D1_POINT_2F point )
+ void AddBezier ( D2D1_BEZIER_SEGMENT* bezier )
+ void AddQuadraticBezier ( D2D1_QUADRATIC_BEZIER_SEGMENT* bezier )
+ void AddQuadraticBeziers ( D2D1_QUADRATIC_BEZIER_SEGMENT* beziers, UINT beziersCount )
+ void AddArc ( D2D1_ARC_SEGMENT* arc ) ;
+
+COM-INTERFACE: ID2D1TessellationSink IUnknown {2cd906c1-12e2-11dc-9fed-001143a055f9}
+ void AddTriangles ( D2D1_TRIANGLE* triangles, UINT trianglesCount )
+ HRESULT Close ( ) ;
+
+COM-INTERFACE: ID2D1PathGeometry ID2D1Geometry {2cd906a5-12e2-11dc-9fed-001143a055f9}
+ HRESULT Open ( ID2D1GeometrySink** geometrySink )
+ HRESULT Stream ( ID2D1GeometrySink* geometrySink )
+ HRESULT GetSegmentCount ( UINT32* count )
+ HRESULT GetFigureCount ( UINT32* count ) ;
+
+COM-INTERFACE: ID2D1Mesh ID2D1Resource {2cd906c2-12e2-11dc-9fed-001143a055f9}
+ HRESULT Open ( ID2D1TessellationSink** tessellationSink ) ;
+
+COM-INTERFACE: ID2D1Layer ID2D1Resource {2cd9069b-12e2-11dc-9fed-001143a055f9}
+ D2D1_SIZE_F GetSize ( ) ;
+
+C-TYPE: IDWriteRenderingParams
+
+COM-INTERFACE: ID2D1DrawingStateBlock ID2D1Resource {28506e39-ebf6-46a1-bb47-fd85565ab957}
+ void GetDescription ( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription )
+ void SetDescription ( D2D1_DRAWING_STATE_DESCRIPTION* stateDescription )
+ void SetTextRenderingParams ( IDWriteRenderingParams* textRenderingParams )
+ void GetTextRenderingParams ( IDWriteRenderingParams** textRenderingParams ) ;
+
+C-TYPE: IWICBitmapSource
+C-TYPE: IWICBitmap
+C-TYPE: IDWriteTextFormat
+C-TYPE: IDWriteTextLayout
+C-TYPE: DWRITE_GLYPH_RUN
+
+COM-INTERFACE: ID2D1RenderTarget ID2D1Resource {2cd90694-12e2-11dc-9fed-001143a055f9}
+ HRESULT CreateBitmap ( D2D1_SIZE_U size, void* srcData, UINT32 pitch, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
+ HRESULT CreateBitmapFromWicBitmap ( IWICBitmapSource* wicBitmapSource, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
+ HRESULT CreateSharedBitmap ( REFIID riid, void* data, D2D1_BITMAP_PROPERTIES* bitmapProperties, ID2D1Bitmap** bitmap )
+ HRESULT CreateBitmapBrush ( ID2D1Bitmap* bitmap, D2D1_BITMAP_BRUSH_PROPERTIES* bitmapBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1BitmapBrush** bitmapBrush )
+ HRESULT CreateSolidColorBrush ( D2D1_COLOR_F* color, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1SolidColorBrush** solidColorBrush )
+ HRESULT CreateGradientStopCollection ( D2D1_GRADIENT_STOP* gradientStops, UINT gradientStopsCount, D2D1_GAMMA colorInterpolationGamma, D2D1_EXTEND_MODE extendMode, ID2D1GradientStopCollection** gradientStopCollection )
+ HRESULT CreateLinearGradientBrush ( D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES* linearGradientBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush )
+ HRESULT CreateRadialGradientBrush ( D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES* radialGradientBrushProperties, D2D1_BRUSH_PROPERTIES* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush )
+ HRESULT CreateCompatibleRenderTarget ( D2D1_SIZE_F* desiredSize, D2D1_SIZE_U* desiredPixelSize, D2D1_PIXEL_FORMAT* desiredFormat, D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options, ID2D1BitmapRenderTarget** bitmapRenderTarget )
+ HRESULT CreateLayer ( D2D1_SIZE_F* size, ID2D1Layer** layer )
+ HRESULT CreateMesh ( ID2D1Mesh** mesh )
+ void DrawLine ( D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
+ void DrawRectangle ( D2D1_RECT_F* rect, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
+ void FillRectangle ( D2D1_RECT_F* rect, ID2D1Brush* brush )
+ void DrawRoundedRectangle ( D2D1_ROUNDED_RECT* roundedRect, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
+ void FillRoundedRectangle ( D2D1_ROUNDED_RECT* roundedRect, ID2D1Brush* brush )
+ void DrawEllipse ( D2D1_ELLIPSE* ellipse, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
+ void FillEllipse ( D2D1_ELLIPSE* ellipse, ID2D1Brush* brush )
+ void DrawGeometry ( ID2D1Geometry* geometry, ID2D1Brush* brush, FLOAT strokeWidth, ID2D1StrokeStyle* strokeStyle )
+ void FillGeometry ( ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush )
+ void FillMesh ( ID2D1Mesh* mesh, ID2D1Brush* brush )
+ void FillOpacityMask ( ID2D1Bitmap* opacityMask, ID2D1Brush* brush, D2D1_OPACITY_MASK_CONTENT content, D2D1_RECT_F* destinationRectangle, D2D1_RECT_F* sourceRectangle )
+ void DrawBitmap ( ID2D1Bitmap* bitmap, D2D1_RECT_F* destinationRectangle, FLOAT opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, D2D1_RECT_F* sourceRectangle )
+ void DrawText ( WCHAR* string, UINT stringLength, IDWriteTextFormat* textFormat, D2D1_RECT_F* layoutRect, ID2D1Brush* defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options, DWRITE_MEASURING_MODE measuringMode )
+ void DrawTextLayout ( D2D1_POINT_2F origin, IDWriteTextLayout* textLayout, ID2D1Brush* defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options )
+ void DrawGlyphRun ( D2D1_POINT_2F baselineOrigin, DWRITE_GLYPH_RUN* glyphRun, ID2D1Brush* foregroundBrush, DWRITE_MEASURING_MODE measuringMode )
+ void SetTransform ( D2D1_MATRIX_3X2_F* transform )
+ void GetTransform ( D2D1_MATRIX_3X2_F* transform )
+ void SetAntialiasMode ( D2D1_ANTIALIAS_MODE antialiasMode )
+ D2D1_ANTIALIAS_MODE GetAntialiasMode ( )
+ void SetTextAntialiasMode ( D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode )
+ D2D1_TEXT_ANTIALIAS_MODE GetTextAntialiasMode ( )
+ void SetTextRenderingParams ( IDWriteRenderingParams* textRenderingParams )
+ void GetTextRenderingParams ( IDWriteRenderingParams** textRenderingParams )
+ void SetTags ( D2D1_TAG tag1, D2D1_TAG tag2 )
+ void GetTags ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
+ void PushLayer ( D2D1_LAYER_PARAMETERS* layerParameters, ID2D1Layer* layer )
+ void PopLayer ( )
+ HRESULT Flush ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
+ void SaveDrawingState ( ID2D1DrawingStateBlock* drawingStateBlock )
+ void RestoreDrawingState ( ID2D1DrawingStateBlock* drawingStateBlock )
+ void PushAxisAlignedClip ( D2D1_RECT_F* clipRect, D2D1_ANTIALIAS_MODE antialiasMode )
+ void PopAxisAlignedClip ( )
+ void Clear ( D2D1_COLOR_F* clearColor )
+ void BeginDraw ( )
+ HRESULT EndDraw ( D2D1_TAG* tag1, D2D1_TAG* tag2 )
+ D2D1_PIXEL_FORMAT GetPixelFormat ( )
+ void SetDpi ( FLOAT dpiX, FLOAT dpiY )
+ void GetDpi ( FLOAT* dpiX, FLOAT* dpiY )
+ D2D1_SIZE_F GetSize ( )
+ D2D1_SIZE_U GetPixelSize ( )
+ UINT32 GetMaximumBitmapSize ( )
+ BOOL IsSupported ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties ) ;
+
+COM-INTERFACE: ID2D1BitmapRenderTarget ID2D1RenderTarget {2cd90695-12e2-11dc-9fed-001143a055f9}
+ HRESULT GetBitmap ( ID2D1Bitmap** bitmap ) ;
+
+COM-INTERFACE: ID2D1HwndRenderTarget ID2D1RenderTarget {2cd90698-12e2-11dc-9fed-001143a055f9}
+ D2D1_WINDOW_STATE CheckWindowState ( )
+ HRESULT Resize ( D2D1_SIZE_U* pixelSize )
+ HWND GetHwnd ( ) ;
+
+COM-INTERFACE: ID2D1GdiInteropRenderTarget IUnknown {e0db51c3-6f77-4bae-b3d5-e47509b35838}
+ HRESULT GetDC ( D2D1_DC_INITIALIZE_MODE mode, HDC* hdc )
+ HRESULT ReleaseDC ( RECT* update ) ;
+
+COM-INTERFACE: ID2D1DCRenderTarget ID2D1RenderTarget {1c51bc64-de61-46fd-9899-63a5d8f03950}
+ HRESULT BindDC ( HDC hDC, RECT* pSubRect ) ;
+
+COM-INTERFACE: ID2D1Factory IUnknown {06152247-6f50-465a-9245-118bfd3b6007}
+ HRESULT ReloadSystemMetrics ( )
+ void GetDesktopDpi ( FLOAT* dpiX, FLOAT* dpiY )
+ HRESULT CreateRectangleGeometry ( D2D1_RECT_F* rectangle, ID2D1RectangleGeometry** rectangleGeometry )
+ HRESULT CreateRoundedRectangleGeometry ( D2D1_ROUNDED_RECT* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry )
+ HRESULT CreateEllipseGeometry ( D2D1_ELLIPSE* ellipse, ID2D1EllipseGeometry** ellipseGeometry )
+ HRESULT CreateGeometryGroup ( D2D1_FILL_MODE fillMode, ID2D1Geometry** geometries, UINT geometriesCount, ID2D1GeometryGroup** geometryGroup )
+ HRESULT CreateTransformedGeometry ( ID2D1Geometry* sourceGeometry, D2D1_MATRIX_3X2_F* transform, ID2D1TransformedGeometry** transformedGeometry )
+ HRESULT CreatePathGeometry ( ID2D1PathGeometry** pathGeometry )
+ HRESULT CreateStrokeStyle ( D2D1_STROKE_STYLE_PROPERTIES* strokeStyleProperties, FLOAT* dashes, UINT dashesCount, ID2D1StrokeStyle** strokeStyle )
+ HRESULT CreateDrawingStateBlock ( D2D1_DRAWING_STATE_DESCRIPTION* drawingStateDescription, IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock )
+ HRESULT CreateWicBitmapRenderTarget ( IWICBitmap* target, D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1RenderTarget** renderTarget )
+ HRESULT CreateHwndRenderTarget ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, D2D1_HWND_RENDER_TARGET_PROPERTIES* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget )
+ HRESULT CreateDxgiSurfaceRenderTarget ( IDXGISurface* dxgiSurface, D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1RenderTarget** renderTarget )
+ HRESULT CreateDCRenderTarget ( D2D1_RENDER_TARGET_PROPERTIES* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget ) ;
+
+FUNCTION: HRESULT D2D1CreateFactory (
+ D2D1_FACTORY_TYPE factoryType,
+ REFIID riid,
+ D2D1_FACTORY_OPTIONS* pFactoryOptions,
+ void** ppIFactory ) ;
+
+FUNCTION: void D2D1MakeRotateMatrix (
+ FLOAT angle,
+ D2D1_POINT_2F center,
+ D2D1_MATRIX_3X2_F* matrix ) ;
+
+FUNCTION: void D2D1MakeSkewMatrix (
+ FLOAT angleX,
+ FLOAT angleY,
+ D2D1_POINT_2F center,
+ D2D1_MATRIX_3X2_F* matrix ) ;
+
+FUNCTION: BOOL D2D1IsMatrixInvertible (
+ D2D1_MATRIX_3X2_F* matrix ) ;
+
+FUNCTION: BOOL D2D1InvertMatrix (
+ D2D1_MATRIX_3X2_F* matrix ) ;
+
--- /dev/null
+Direct2D bindings. Corresponds to d2d1.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax classes.struct windows.types ;
+IN: windows.directx.d3dbasetypes
+
+STRUCT: D3DCOLORVALUE
+ { r FLOAT }
+ { g FLOAT }
+ { b FLOAT }
+ { a FLOAT } ;
+
+STRUCT: D2D_POINT_2U
+ { x UINT32 }
+ { y UINT32 } ;
+
+STRUCT: D2D_POINT_2F
+ { x FLOAT }
+ { y FLOAT } ;
+
+STRUCT: D2D_RECT_F
+ { left FLOAT }
+ { top FLOAT }
+ { right FLOAT }
+ { bottom FLOAT } ;
+
+STRUCT: D2D_RECT_U
+ { left UINT32 }
+ { top UINT32 }
+ { right UINT32 }
+ { bottom UINT32 } ;
+
+STRUCT: D2D_SIZE_F
+ { width FLOAT }
+ { height FLOAT } ;
+
+STRUCT: D2D_SIZE_U
+ { width UINT32 }
+ { height UINT32 } ;
+
+TYPEDEF: D3DCOLORVALUE D2D_COLOR_F
+
+STRUCT: D2D_MATRIX_3X2_F
+ { _11 FLOAT }
+ { _12 FLOAT }
+ { _21 FLOAT }
+ { _22 FLOAT }
+ { _31 FLOAT }
+ { _32 FLOAT } ;
--- /dev/null
+Direct2D bindings. Corresponds to d2dbasetypes.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: ;
+IN: windows.directx.d2derr
+
+CONSTANT: D2DERR_UNSUPPORTED_PIXEL_FORMAT HEX: 88982f80
+CONSTANT: D2DERR_INSUFFICIENT_BUFFER HEX: 80007007a
+CONSTANT: D2DERR_WRONG_STATE HEX: 88990001
+CONSTANT: D2DERR_NOT_INITIALIZED HEX: 88990002
+CONSTANT: D2DERR_UNSUPPORTED_OPERATION HEX: 88990003
+CONSTANT: D2DERR_SCANNER_FAILED HEX: 88990004
+CONSTANT: D2DERR_SCREEN_ACCESS_DENIED HEX: 88990005
+CONSTANT: D2DERR_DISPLAY_STATE_INVALID HEX: 88990006
+CONSTANT: D2DERR_ZERO_VECTOR HEX: 88990007
+CONSTANT: D2DERR_INTERNAL_ERROR HEX: 88990008
+CONSTANT: D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED HEX: 88990009
+CONSTANT: D2DERR_INVALID_CALL HEX: 8899000A
+CONSTANT: D2DERR_NO_HARDWARE_DEVICE HEX: 8899000B
+CONSTANT: D2DERR_RECREATE_TARGET HEX: 8899000C
+CONSTANT: D2DERR_TOO_MANY_SHADER_ELEMENTS HEX: 8899000D
+CONSTANT: D2DERR_SHADER_COMPILE_FAILED HEX: 8899000E
+CONSTANT: D2DERR_MAX_TEXTURE_SIZE_EXCEEDED HEX: 8899000F
+CONSTANT: D2DERR_UNSUPPORTED_VERSION HEX: 88990010
+CONSTANT: D2DERR_BAD_NUMBER HEX: 88990011
+CONSTANT: D2DERR_WRONG_FACTORY HEX: 88990012
+CONSTANT: D2DERR_LAYER_ALREADY_IN_USE HEX: 88990013
+CONSTANT: D2DERR_POP_CALL_DID_NOT_MATCH_PUSH HEX: 88990014
+CONSTANT: D2DERR_WRONG_RESOURCE_DOMAIN HEX: 88990015
+CONSTANT: D2DERR_PUSH_POP_UNBALANCED HEX: 88990016
+CONSTANT: D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT HEX: 88990017
+CONSTANT: D2DERR_INCOMPATIBLE_BRUSH_TYPES HEX: 88990018
+CONSTANT: D2DERR_WIN32_ERROR HEX: 88990019
+CONSTANT: D2DERR_TARGET_NOT_GDI_COMPATIBLE HEX: 8899001A
+CONSTANT: D2DERR_TEXT_EFFECT_IS_WRONG_TYPE HEX: 8899001B
+CONSTANT: D2DERR_TEXT_RENDERER_NOT_RELEASED HEX: 8899001C
+CONSTANT: D2DERR_EXCEEDS_MAX_BITMAP_SIZE HEX: 8899001D
--- /dev/null
+Direct2D bindings. Corresponds to d2derr.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax alien.c-types classes.struct windows.types
+windows.directx.dxgiformat windows.com.syntax windows.com windows.ole32
+windows.directx.dxgitype ;
+IN: windows.directx.d3d10
+
+LIBRARY: d3d10
+
+CONSTANT: D3D10_16BIT_INDEX_STRIP_CUT_VALUE HEX: ffff
+CONSTANT: D3D10_32BIT_INDEX_STRIP_CUT_VALUE HEX: ffffffff
+CONSTANT: D3D10_8BIT_INDEX_STRIP_CUT_VALUE HEX: ff
+CONSTANT: D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT 9
+CONSTANT: D3D10_CLIP_OR_CULL_DISTANCE_COUNT 8
+CONSTANT: D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT 2
+CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT 14
+CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS 4
+CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT 15
+CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT 15
+CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST 1
+CONSTANT: D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS 1
+CONSTANT: D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT 64
+CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT 1
+CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST 1
+CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS 1
+CONSTANT: D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS 1
+CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT 128
+CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST 1
+CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS 1
+CONSTANT: D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT 128
+CONSTANT: D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS 1
+CONSTANT: D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT 16
+CONSTANT: D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST 1
+CONSTANT: D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS 1
+CONSTANT: D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT 16
+CONSTANT: D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT 32
+CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_COUNT 4096
+CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST 3
+CONSTANT: D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS 3
+CONSTANT: D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX 10
+CONSTANT: D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN -10
+CONSTANT: D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE -8
+CONSTANT: D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE 7
+CONSTANT: D3D10_DEFAULT_BLEND_FACTOR_ALPHA 1.0
+CONSTANT: D3D10_DEFAULT_BLEND_FACTOR_BLUE 1.0
+CONSTANT: D3D10_DEFAULT_BLEND_FACTOR_GREEN 1.0
+CONSTANT: D3D10_DEFAULT_BLEND_FACTOR_RED 1.0
+CONSTANT: D3D10_DEFAULT_BORDER_COLOR_COMPONENT 0.0
+CONSTANT: D3D10_DEFAULT_DEPTH_BIAS 0
+CONSTANT: D3D10_DEFAULT_DEPTH_BIAS_CLAMP 0.0
+CONSTANT: D3D10_DEFAULT_MAX_ANISOTROPY 16.0
+CONSTANT: D3D10_DEFAULT_MIP_LOD_BIAS 0.0
+CONSTANT: D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX 0
+CONSTANT: D3D10_DEFAULT_SAMPLE_MASK HEX: ffffffff
+CONSTANT: D3D10_DEFAULT_SCISSOR_ENDX 0
+CONSTANT: D3D10_DEFAULT_SCISSOR_ENDY 0
+CONSTANT: D3D10_DEFAULT_SCISSOR_STARTX 0
+CONSTANT: D3D10_DEFAULT_SCISSOR_STARTY 0
+CONSTANT: D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0
+CONSTANT: D3D10_DEFAULT_STENCIL_READ_MASK HEX: ff
+CONSTANT: D3D10_DEFAULT_STENCIL_REFERENCE 0
+CONSTANT: D3D10_DEFAULT_STENCIL_WRITE_MASK HEX: ff
+CONSTANT: D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX 0
+CONSTANT: D3D10_DEFAULT_VIEWPORT_HEIGHT 0
+CONSTANT: D3D10_DEFAULT_VIEWPORT_MAX_DEPTH 0.0
+CONSTANT: D3D10_DEFAULT_VIEWPORT_MIN_DEPTH 0.0
+CONSTANT: D3D10_DEFAULT_VIEWPORT_TOPLEFTX 0
+CONSTANT: D3D10_DEFAULT_VIEWPORT_TOPLEFTY 0
+CONSTANT: D3D10_DEFAULT_VIEWPORT_WIDTH 0
+CONSTANT: D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP 0.6
+CONSTANT: D3D10_FLOAT32_MAX 3.402823466e+38
+CONSTANT: D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP 0.6
+CONSTANT: D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR 2.4
+CONSTANT: D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR 1.0
+CONSTANT: D3D10_FLOAT_TO_SRGB_OFFSET 0.055
+CONSTANT: D3D10_FLOAT_TO_SRGB_SCALE_1 12.92
+CONSTANT: D3D10_FLOAT_TO_SRGB_SCALE_2 1.055
+CONSTANT: D3D10_FLOAT_TO_SRGB_THRESHOLD 0.0031308
+CONSTANT: D3D10_FTOI_INSTRUCTION_MAX_INPUT 2147483647.999
+CONSTANT: D3D10_FTOI_INSTRUCTION_MIN_INPUT -2147483648.999
+CONSTANT: D3D10_FTOU_INSTRUCTION_MAX_INPUT 4294967295.999
+CONSTANT: D3D10_FTOU_INSTRUCTION_MIN_INPUT 0.0
+CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS 1
+CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT 1
+CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST 2
+CONSTANT: D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS 1
+CONSTANT: D3D10_GS_INPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_GS_INPUT_REGISTER_COUNT 16
+CONSTANT: D3D10_GS_INPUT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D10_GS_INPUT_REGISTER_READ_PORTS 1
+CONSTANT: D3D10_GS_INPUT_REGISTER_VERTICES 6
+CONSTANT: D3D10_GS_OUTPUT_ELEMENTS 32
+CONSTANT: D3D10_GS_OUTPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_GS_OUTPUT_REGISTER_COUNT 32
+CONSTANT: D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES 0
+CONSTANT: D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY 0
+CONSTANT: D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES 0
+CONSTANT: D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT 1
+CONSTANT: D3D10_IA_INSTANCE_ID_BIT_COUNT 32
+CONSTANT: D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT 32
+CONSTANT: D3D10_IA_PRIMITIVE_ID_BIT_COUNT 32
+CONSTANT: D3D10_IA_VERTEX_ID_BIT_COUNT 32
+CONSTANT: D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT 16
+CONSTANT: D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS 64
+CONSTANT: D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT 16
+CONSTANT: D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT HEX: ffffffff
+CONSTANT: D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER HEX: ffffffff
+CONSTANT: D3D10_LINEAR_GAMMA 1.0
+CONSTANT: D3D10_MAX_BORDER_COLOR_COMPONENT 1.0
+CONSTANT: D3D10_MAX_DEPTH 1.0
+CONSTANT: D3D10_MAX_MAXANISOTROPY 16
+CONSTANT: D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT 32
+CONSTANT: D3D10_MAX_POSITION_VALUE 3.402823466e+34
+CONSTANT: D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP 17
+CONSTANT: D3D10_MIN_BORDER_COLOR_COMPONENT 0.0
+CONSTANT: D3D10_MIN_DEPTH 0.0
+CONSTANT: D3D10_MIN_MAXANISOTROPY 0
+CONSTANT: D3D10_MIP_LOD_BIAS_MAX 15.99
+CONSTANT: D3D10_MIP_LOD_BIAS_MIN -16.0
+CONSTANT: D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT 6
+CONSTANT: D3D10_MIP_LOD_RANGE_BIT_COUNT 8
+CONSTANT: D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH 1.4
+CONSTANT: D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT 0
+CONSTANT: D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT 13
+CONSTANT: D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT 15
+CONSTANT: D3D10_PS_FRONTFACING_DEFAULT_VALUE HEX: ffffffff
+CONSTANT: D3D10_PS_FRONTFACING_FALSE_VALUE 0
+CONSTANT: D3D10_PS_FRONTFACING_TRUE_VALUE HEX: ffffffff
+CONSTANT: D3D10_PS_INPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_PS_INPUT_REGISTER_COUNT 32
+CONSTANT: D3D10_PS_INPUT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D10_PS_INPUT_REGISTER_READ_PORTS 1
+CONSTANT: D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT 0.0
+CONSTANT: D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS 1
+CONSTANT: D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT 1
+CONSTANT: D3D10_PS_OUTPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_PS_OUTPUT_REGISTER_COUNT 8
+CONSTANT: D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT 0.5
+CONSTANT: D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT 4096
+CONSTANT: D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP 27
+CONSTANT: D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT 4096
+CONSTANT: D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT 4096
+CONSTANT: D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 32
+CONSTANT: D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP 32
+CONSTANT: D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION 8192
+CONSTANT: D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT 1024
+CONSTANT: D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT 4096
+CONSTANT: D3D10_REQ_MAXANISOTROPY 16
+CONSTANT: D3D10_REQ_MIP_LEVELS 14
+CONSTANT: D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES 2048
+CONSTANT: D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT 4096
+CONSTANT: D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH 8192
+CONSTANT: D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES 128
+CONSTANT: D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP 20
+CONSTANT: D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT 4096
+CONSTANT: D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION 512
+CONSTANT: D3D10_REQ_TEXTURE1D_U_DIMENSION 8192
+CONSTANT: D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION 512
+CONSTANT: D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION 8192
+CONSTANT: D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 2048
+CONSTANT: D3D10_REQ_TEXTURECUBE_DIMENSION 8192
+CONSTANT: D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL 0
+CONSTANT: D3D10_SHADER_MAJOR_VERSION 4
+CONSTANT: D3D10_SHADER_MINOR_VERSION 0
+CONSTANT: D3D10_SHIFT_INSTRUCTION_PAD_VALUE 0
+CONSTANT: D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT 5
+CONSTANT: D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT 8
+CONSTANT: D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES 2048
+CONSTANT: D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES 256
+CONSTANT: D3D10_SO_BUFFER_SLOT_COUNT 4
+CONSTANT: D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP HEX: ffffffff
+CONSTANT: D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER 1
+CONSTANT: D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT 64
+CONSTANT: D3D10_SRGB_GAMMA 2.2
+CONSTANT: D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 12.92
+CONSTANT: D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 1.055
+CONSTANT: D3D10_SRGB_TO_FLOAT_EXPONENT 2.4
+CONSTANT: D3D10_SRGB_TO_FLOAT_OFFSET 0.055
+CONSTANT: D3D10_SRGB_TO_FLOAT_THRESHOLD 0.04045
+CONSTANT: D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP 0.5
+CONSTANT: D3D10_STANDARD_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED 64
+CONSTANT: D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE 4
+CONSTANT: D3D10_STANDARD_PIXEL_COMPONENT_COUNT 128
+CONSTANT: D3D10_STANDARD_PIXEL_ELEMENT_COUNT 32
+CONSTANT: D3D10_STANDARD_VECTOR_SIZE 4
+CONSTANT: D3D10_STANDARD_VERTEX_ELEMENT_COUNT 16
+CONSTANT: D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT 64
+CONSTANT: D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT 8
+CONSTANT: D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT 6
+CONSTANT: D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT 18
+CONSTANT: D3D10_UNBOUND_MEMORY_ACCESS_RESULT 0
+CONSTANT: D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX 15
+CONSTANT: D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE 16
+CONSTANT: D3D10_VIEWPORT_BOUNDS_MAX 16383
+CONSTANT: D3D10_VIEWPORT_BOUNDS_MIN -16384
+CONSTANT: D3D10_VS_INPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_VS_INPUT_REGISTER_COUNT 16
+CONSTANT: D3D10_VS_INPUT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D10_VS_INPUT_REGISTER_READ_PORTS 1
+CONSTANT: D3D10_VS_OUTPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_VS_OUTPUT_REGISTER_COUNT 16
+CONSTANT: D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT 10
+CONSTANT: D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 25
+CONSTANT: D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP 25
+CONSTANT: D3D_MAJOR_VERSION 10
+CONSTANT: D3D_MINOR_VERSION 0
+CONSTANT: D3D_SPEC_DATE_DAY 8
+CONSTANT: D3D_SPEC_DATE_MONTH 8
+CONSTANT: D3D_SPEC_DATE_YEAR 2006
+CONSTANT: D3D_SPEC_VERSION 1.050005
+
+CONSTANT: D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT 16
+CONSTANT: D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT 16
+
+CONSTANT: _FACD3D10 HEX: 879
+CONSTANT: _FACD3D10DEBUG HEX: 87A
+
+CONSTANT: D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS HEX: 88790001
+CONSTANT: D3D10_ERROR_FILE_NOT_FOUND HEX: 88790002
+
+CONSTANT: D3D10_INPUT_PER_VERTEX_DATA 0
+CONSTANT: D3D10_INPUT_PER_INSTANCE_DATA 1
+TYPEDEF: int D3D10_INPUT_CLASSIFICATION
+
+CONSTANT: D3D10_APPEND_ALIGNED_ELEMENT HEX: ffffffff
+
+STRUCT: D3D10_INPUT_ELEMENT_DESC
+ { SemanticName LPCSTR }
+ { SemanticIndex UINT }
+ { Format DXGI_FORMAT }
+ { InputSlot UINT }
+ { AlignedByteOffset UINT }
+ { InputSlotClass D3D10_INPUT_CLASSIFICATION }
+ { InstanceDataStepRate UINT } ;
+
+CONSTANT: D3D10_FILL_WIREFRAME 2
+CONSTANT: D3D10_FILL_SOLID 3
+TYPEDEF: int D3D10_FILL_MODE
+
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED 0
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_POINTLIST 1
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_LINELIST 2
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP 3
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST 4
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP 5
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 10
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ 11
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ 12
+CONSTANT: D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ 13
+TYPEDEF: int D3D10_PRIMITIVE_TOPOLOGY
+
+CONSTANT: D3D10_PRIMITIVE_UNDEFINED 0
+CONSTANT: D3D10_PRIMITIVE_POINT 1
+CONSTANT: D3D10_PRIMITIVE_LINE 2
+CONSTANT: D3D10_PRIMITIVE_TRIANGLE 3
+CONSTANT: D3D10_PRIMITIVE_LINE_ADJ 6
+CONSTANT: D3D10_PRIMITIVE_TRIANGLE_ADJ 7
+TYPEDEF: int D3D10_PRIMITIVE
+
+CONSTANT: D3D10_CULL_NONE 1
+CONSTANT: D3D10_CULL_FRONT 2
+CONSTANT: D3D10_CULL_BACK 3
+TYPEDEF: int D3D10_CULL_MODE
+
+STRUCT: D3D10_SO_DECLARATION_ENTRY
+ { SemanticName LPCSTR }
+ { SemanticIndex UINT }
+ { StartComponent BYTE }
+ { ComponentCount BYTE }
+ { OutputSlot BYTE } ;
+
+STRUCT: D3D10_VIEWPORT
+ { TopLeftX INT }
+ { TopLeftY INT }
+ { Width UINT }
+ { Height UINT }
+ { MinDepth FLOAT }
+ { MaxDepth FLOAT } ;
+
+CONSTANT: D3D10_RESOURCE_DIMENSION_UNKNOWN 0
+CONSTANT: D3D10_RESOURCE_DIMENSION_BUFFER 1
+CONSTANT: D3D10_RESOURCE_DIMENSION_TEXTURE1D 2
+CONSTANT: D3D10_RESOURCE_DIMENSION_TEXTURE2D 3
+CONSTANT: D3D10_RESOURCE_DIMENSION_TEXTURE3D 4
+TYPEDEF: int D3D10_RESOURCE_DIMENSION
+
+CONSTANT: D3D10_SRV_DIMENSION_UNKNOWN 0
+CONSTANT: D3D10_SRV_DIMENSION_BUFFER 1
+CONSTANT: D3D10_SRV_DIMENSION_TEXTURE1D 2
+CONSTANT: D3D10_SRV_DIMENSION_TEXTURE1DARRAY 3
+CONSTANT: D3D10_SRV_DIMENSION_TEXTURE2D 4
+CONSTANT: D3D10_SRV_DIMENSION_TEXTURE2DARRAY 5
+CONSTANT: D3D10_SRV_DIMENSION_TEXTURE2DMS 6
+CONSTANT: D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY 7
+CONSTANT: D3D10_SRV_DIMENSION_TEXTURE3D 8
+CONSTANT: D3D10_SRV_DIMENSION_TEXTURECUBE 9
+TYPEDEF: int D3D10_SRV_DIMENSION
+
+CONSTANT: D3D10_DSV_DIMENSION_UNKNOWN 0
+CONSTANT: D3D10_DSV_DIMENSION_TEXTURE1D 1
+CONSTANT: D3D10_DSV_DIMENSION_TEXTURE1DARRAY 2
+CONSTANT: D3D10_DSV_DIMENSION_TEXTURE2D 3
+CONSTANT: D3D10_DSV_DIMENSION_TEXTURE2DARRAY 4
+CONSTANT: D3D10_DSV_DIMENSION_TEXTURE2DMS 5
+CONSTANT: D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY 6
+TYPEDEF: int D3D10_DSV_DIMENSION
+
+CONSTANT: D3D10_RTV_DIMENSION_UNKNOWN 0
+CONSTANT: D3D10_RTV_DIMENSION_BUFFER 1
+CONSTANT: D3D10_RTV_DIMENSION_TEXTURE1D 2
+CONSTANT: D3D10_RTV_DIMENSION_TEXTURE1DARRAY 3
+CONSTANT: D3D10_RTV_DIMENSION_TEXTURE2D 4
+CONSTANT: D3D10_RTV_DIMENSION_TEXTURE2DARRAY 5
+CONSTANT: D3D10_RTV_DIMENSION_TEXTURE2DMS 6
+CONSTANT: D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY 7
+CONSTANT: D3D10_RTV_DIMENSION_TEXTURE3D 8
+TYPEDEF: int D3D10_RTV_DIMENSION
+
+CONSTANT: D3D10_USAGE_DEFAULT 0
+CONSTANT: D3D10_USAGE_IMMUTABLE 1
+CONSTANT: D3D10_USAGE_DYNAMIC 2
+CONSTANT: D3D10_USAGE_STAGING 3
+TYPEDEF: int D3D10_USAGE
+
+CONSTANT: D3D10_BIND_VERTEX_BUFFER HEX: 1
+CONSTANT: D3D10_BIND_INDEX_BUFFER HEX: 2
+CONSTANT: D3D10_BIND_CONSTANT_BUFFER HEX: 4
+CONSTANT: D3D10_BIND_SHADER_RESOURCE HEX: 8
+CONSTANT: D3D10_BIND_STREAM_OUTPUT HEX: 10
+CONSTANT: D3D10_BIND_RENDER_TARGET HEX: 20
+CONSTANT: D3D10_BIND_DEPTH_STENCIL HEX: 40
+TYPEDEF: int D3D10_BIND_FLAG
+
+CONSTANT: D3D10_CPU_ACCESS_WRITE HEX: 10000
+CONSTANT: D3D10_CPU_ACCESS_READ HEX: 20000
+TYPEDEF: int D3D10_CPU_ACCESS_FLAG
+
+CONSTANT: D3D10_RESOURCE_MISC_GENERATE_MIPS HEX: 1
+CONSTANT: D3D10_RESOURCE_MISC_SHARED HEX: 2
+CONSTANT: D3D10_RESOURCE_MISC_TEXTURECUBE HEX: 4
+CONSTANT: D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX HEX: 10
+CONSTANT: D3D10_RESOURCE_MISC_GDI_COMPATIBLE HEX: 20
+TYPEDEF: int D3D10_RESOURCE_MISC_FLAG
+
+CONSTANT: D3D10_MAP_READ 1
+CONSTANT: D3D10_MAP_WRITE 2
+CONSTANT: D3D10_MAP_READ_WRITE 3
+CONSTANT: D3D10_MAP_WRITE_DISCARD 4
+CONSTANT: D3D10_MAP_WRITE_NO_OVERWRITE 5
+TYPEDEF: int D3D10_MAP
+
+CONSTANT: D3D10_MAP_FLAG_DO_NOT_WAIT HEX: 100000
+TYPEDEF: int D3D10_MAP_FLAG
+
+CONSTANT: D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR HEX: 1
+TYPEDEF: int D3D10_RAISE_FLAG
+
+CONSTANT: D3D10_CLEAR_DEPTH HEX: 1
+CONSTANT: D3D10_CLEAR_STENCIL HEX: 2
+TYPEDEF: int D3D10_CLEAR_FLAG
+
+TYPEDEF: RECT D3D10_RECT
+
+STRUCT: D3D10_BOX
+ { left UINT }
+ { top UINT }
+ { front UINT }
+ { right UINT }
+ { bottom UINT }
+ { back UINT } ;
+
+COM-INTERFACE: ID3D10DeviceChild IUnknown {9B7E4C00-342C-4106-A19F-4F2704F689F0}
+ void GetDevice ( ID3D10Device** ppDevice )
+ HRESULT GetPrivateData ( LPGUID guid, UINT* pDataSize, void* pData )
+ HRESULT SetPrivateData ( LPGUID guid, UINT DataSize, void* pData )
+ HRESULT SetPrivateDataInterface ( LPGUID guid, IUnknown* pData ) ;
+
+CONSTANT: D3D10_COMPARISON_NEVER 1
+CONSTANT: D3D10_COMPARISON_LESS 2
+CONSTANT: D3D10_COMPARISON_EQUAL 3
+CONSTANT: D3D10_COMPARISON_LESS_EQUAL 4
+CONSTANT: D3D10_COMPARISON_GREATER 5
+CONSTANT: D3D10_COMPARISON_NOT_EQUAL 6
+CONSTANT: D3D10_COMPARISON_GREATER_EQUAL 7
+CONSTANT: D3D10_COMPARISON_ALWAYS 8
+TYPEDEF: int D3D10_COMPARISON_FUNC
+
+CONSTANT: D3D10_DEPTH_WRITE_MASK_ZERO 0
+CONSTANT: D3D10_DEPTH_WRITE_MASK_ALL 1
+TYPEDEF: int D3D10_DEPTH_WRITE_MASK
+
+CONSTANT: D3D10_STENCIL_OP_KEEP 1
+CONSTANT: D3D10_STENCIL_OP_ZERO 2
+CONSTANT: D3D10_STENCIL_OP_REPLACE 3
+CONSTANT: D3D10_STENCIL_OP_INCR_SAT 4
+CONSTANT: D3D10_STENCIL_OP_DECR_SAT 5
+CONSTANT: D3D10_STENCIL_OP_INVERT 6
+CONSTANT: D3D10_STENCIL_OP_INCR 7
+CONSTANT: D3D10_STENCIL_OP_DECR 8
+TYPEDEF: int D3D10_STENCIL_OP
+
+STRUCT: D3D10_DEPTH_STENCILOP_DESC
+ { StencilFailOp D3D10_STENCIL_OP }
+ { StencilDepthFailOp D3D10_STENCIL_OP }
+ { StencilPassOp D3D10_STENCIL_OP }
+ { StencilFunc D3D10_COMPARISON_FUNC } ;
+
+STRUCT: D3D10_DEPTH_STENCIL_DESC
+ { DepthEnable BOOL }
+ { DepthWriteMask D3D10_DEPTH_WRITE_MASK }
+ { DepthFunc D3D10_COMPARISON_FUNC }
+ { StencilEnable BOOL }
+ { StencilReadMask BYTE }
+ { StencilWriteMask BYTE }
+ { FrontFace D3D10_DEPTH_STENCILOP_DESC }
+ { BackFace D3D10_DEPTH_STENCILOP_DESC } ;
+
+COM-INTERFACE: ID3D10DepthStencilState ID3D10DeviceChild {2B4B1CC8-A4AD-41f8-8322-CA86FC3EC675}
+ void GetDesc ( D3D10_DEPTH_STENCIL_DESC* pDesc ) ;
+
+CONSTANT: D3D10_BLEND_ZERO 1
+CONSTANT: D3D10_BLEND_ONE 2
+CONSTANT: D3D10_BLEND_SRC_COLOR 3
+CONSTANT: D3D10_BLEND_INV_SRC_COLOR 4
+CONSTANT: D3D10_BLEND_SRC_ALPHA 5
+CONSTANT: D3D10_BLEND_INV_SRC_ALPHA 6
+CONSTANT: D3D10_BLEND_DEST_ALPHA 7
+CONSTANT: D3D10_BLEND_INV_DEST_ALPHA 8
+CONSTANT: D3D10_BLEND_DEST_COLOR 9
+CONSTANT: D3D10_BLEND_INV_DEST_COLOR 10
+CONSTANT: D3D10_BLEND_SRC_ALPHA_SAT 11
+CONSTANT: D3D10_BLEND_BLEND_FACTOR 14
+CONSTANT: D3D10_BLEND_INV_BLEND_FACTOR 15
+CONSTANT: D3D10_BLEND_SRC1_COLOR 16
+CONSTANT: D3D10_BLEND_INV_SRC1_COLOR 17
+CONSTANT: D3D10_BLEND_SRC1_ALPHA 18
+CONSTANT: D3D10_BLEND_INV_SRC1_ALPHA 19
+TYPEDEF: int D3D10_BLEND
+
+CONSTANT: D3D10_BLEND_OP_ADD 1
+CONSTANT: D3D10_BLEND_OP_SUBTRACT 2
+CONSTANT: D3D10_BLEND_OP_REV_SUBTRACT 3
+CONSTANT: D3D10_BLEND_OP_MIN 4
+CONSTANT: D3D10_BLEND_OP_MAX 5
+TYPEDEF: int D3D10_BLEND_OP
+
+CONSTANT: D3D10_COLOR_WRITE_ENABLE_RED 1
+CONSTANT: D3D10_COLOR_WRITE_ENABLE_GREEN 2
+CONSTANT: D3D10_COLOR_WRITE_ENABLE_BLUE 4
+CONSTANT: D3D10_COLOR_WRITE_ENABLE_ALPHA 8
+CONSTANT: D3D10_COLOR_WRITE_ENABLE_ALL 15
+TYPEDEF: int D3D10_COLOR_WRITE_ENABLE
+
+STRUCT: D3D10_BLEND_DESC
+ { AlphaToCoverageEnable BOOL }
+ { BlendEnable BOOL[8] }
+ { SrcBlend D3D10_BLEND }
+ { DestBlend D3D10_BLEND }
+ { BlendOp D3D10_BLEND_OP }
+ { SrcBlendAlpha D3D10_BLEND }
+ { DestBlendAlpha D3D10_BLEND }
+ { BlendOpAlpha D3D10_BLEND_OP }
+ { RenderTargetWriteMask BYTE[8] } ;
+
+COM-INTERFACE: ID3D10BlendState ID3D10DeviceChild {EDAD8D19-8A35-4d6d-8566-2EA276CDE161}
+ void GetDesc ( D3D10_BLEND_DESC* pDesc ) ;
+
+STRUCT: D3D10_RASTERIZER_DESC
+ { FillMode D3D10_FILL_MODE }
+ { CullMode D3D10_CULL_MODE }
+ { FrontCounterClockwise BOOL }
+ { DepthBias INT }
+ { DepthBiasClamp FLOAT }
+ { SlopeScaledDepthBias FLOAT }
+ { DepthClipEnable BOOL }
+ { ScissorEnable BOOL }
+ { MultisampleEnable BOOL }
+ { AntialiasedLineEnable BOOL } ;
+
+COM-INTERFACE: ID3D10RasterizerState ID3D10DeviceChild {A2A07292-89AF-4345-BE2E-C53D9FBB6E9F}
+ void GetDesc ( D3D10_RASTERIZER_DESC* pDesc ) ;
+
+STRUCT: D3D10_SUBRESOURCE_DATA
+ { pSysMem void* }
+ { SysMemPitch UINT }
+ { SysMemSlicePitch UINT } ;
+
+
+COM-INTERFACE: ID3D10Resource ID3D10DeviceChild {9B7E4C01-342C-4106-A19F-4F2704F689F0}
+ void GetType ( D3D10_RESOURCE_DIMENSION* rType )
+ void SetEvictionPriority ( UINT EvictionPriority )
+ UINT GetEvictionPriority ( ) ;
+
+STRUCT: D3D10_BUFFER_DESC
+ { ByteWidth UINT }
+ { Usage D3D10_USAGE }
+ { BindFlags UINT }
+ { CPUAccessFlags UINT }
+ { MiscFlags UINT } ;
+
+COM-INTERFACE: ID3D10Buffer ID3D10Resource {9B7E4C02-342C-4106-A19F-4F2704F689F0}
+ HRESULT Map ( D3D10_MAP MapType, UINT MapFlags, void** ppData )
+ void Unmap ( )
+ void GetDesc ( D3D10_BUFFER_DESC* pDesc ) ;
+
+STRUCT: D3D10_TEXTURE1D_DESC
+ { Width UINT }
+ { MipLevels UINT }
+ { ArraySize UINT }
+ { Format DXGI_FORMAT }
+ { Usage D3D10_USAGE }
+ { BindFlags UINT }
+ { CPUAccessFlags UINT }
+ { MiscFlags UINT } ;
+
+COM-INTERFACE: ID3D10Texture1D ID3D10Resource {9B7E4C03-342C-4106-A19F-4F2704F689F0}
+ HRESULT Map ( UINT Subresource, D3D10_MAP MapType, UINT MapFlags, void** ppData )
+ void Unmap ( UINT Subresource )
+ void GetDesc ( D3D10_TEXTURE1D_DESC* pDesc ) ;
+
+STRUCT: D3D10_TEXTURE2D_DESC
+ { Width UINT }
+ { Height UINT }
+ { MipLevels UINT }
+ { ArraySize UINT }
+ { Format DXGI_FORMAT }
+ { SampleDesc DXGI_SAMPLE_DESC }
+ { Usage D3D10_USAGE }
+ { BindFlags UINT }
+ { CPUAccessFlags UINT }
+ { MiscFlags UINT } ;
+
+STRUCT: D3D10_MAPPED_TEXTURE2D
+ { pData void* }
+ { RowPitch UINT } ;
+
+COM-INTERFACE: ID3D10Texture2D ID3D10Resource {9B7E4C04-342C-4106-A19F-4F2704F689F0}
+ HRESULT Map ( UINT Subresource, D3D10_MAP MapType, UINT MapFlags, D3D10_MAPPED_TEXTURE2D* pMappedTex2D )
+ void Unmap ( UINT Subresource )
+ void GetDesc ( D3D10_TEXTURE2D_DESC* pDesc ) ;
+
+STRUCT: D3D10_TEXTURE3D_DESC
+ { Width UINT }
+ { Height UINT }
+ { Depth UINT }
+ { MipLevels UINT }
+ { Format DXGI_FORMAT }
+ { Usage D3D10_USAGE }
+ { BindFlags UINT }
+ { CPUAccessFlags UINT }
+ { MiscFlags UINT } ;
+
+STRUCT: D3D10_MAPPED_TEXTURE3D
+ { pData void* }
+ { RowPitch UINT }
+ { DepthPitch UINT } ;
+
+COM-INTERFACE: ID3D10Texture3D ID3D10Resource {9B7E4C05-342C-4106-A19F-4F2704F689F0}
+ HRESULT Map ( UINT Subresource, D3D10_MAP MapType, UINT MapFlags, D3D10_MAPPED_TEXTURE3D* pMappedTex3D )
+ void Unmap ( UINT Subresource )
+ void GetDesc ( D3D10_TEXTURE3D_DESC* pDesc ) ;
+
+CONSTANT: D3D10_TEXTURECUBE_FACE_POSITIVE_X 0
+CONSTANT: D3D10_TEXTURECUBE_FACE_NEGATIVE_X 1
+CONSTANT: D3D10_TEXTURECUBE_FACE_POSITIVE_Y 2
+CONSTANT: D3D10_TEXTURECUBE_FACE_NEGATIVE_Y 3
+CONSTANT: D3D10_TEXTURECUBE_FACE_POSITIVE_Z 4
+CONSTANT: D3D10_TEXTURECUBE_FACE_NEGATIVE_Z 5
+TYPEDEF: int D3D10_TEXTURECUBE_FACE
+
+COM-INTERFACE: ID3D10View ID3D10DeviceChild {C902B03F-60A7-49BA-9936-2A3AB37A7E33}
+ void GetResource ( ID3D10Resource** ppResource ) ;
+
+UNION-STRUCT: D3D10_BUFFER_SRV_UNION1
+ { FirstElement UINT }
+ { ElementOffset UINT } ;
+
+UNION-STRUCT: D3D10_BUFFER_SRV_UNION2
+ { NumElements UINT }
+ { ElementWith UINT } ;
+
+STRUCT: D3D10_BUFFER_SRV
+ { First D3D10_BUFFER_SRV_UNION1 }
+ { Second D3D10_BUFFER_SRV_UNION2 } ;
+
+STRUCT: D3D10_TEX1D_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT } ;
+
+STRUCT: D3D10_TEX1D_ARRAY_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D10_TEX2D_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT } ;
+
+STRUCT: D3D10_TEX2D_ARRAY_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D10_TEX3D_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT } ;
+
+STRUCT: D3D10_TEXCUBE_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT } ;
+
+STRUCT: D3D10_TEX2DMS_SRV
+ { UnusedField_NothingToDefine UINT } ;
+
+STRUCT: D3D10_TEX2DMS_ARRAY_SRV
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+UNION-STRUCT: D3D10_SHADER_RESOURCE_VIEW_DESC_UNION
+ { Buffer D3D10_BUFFER_SRV }
+ { Texture1D D3D10_TEX1D_SRV }
+ { Texture1DArray D3D10_TEX1D_ARRAY_SRV }
+ { Texture2D D3D10_TEX2D_SRV }
+ { Texture2DArray D3D10_TEX2D_ARRAY_SRV }
+ { Texture2DMS D3D10_TEX2DMS_SRV }
+ { Texture2DMSArray D3D10_TEX2DMS_ARRAY_SRV }
+ { Texture3D D3D10_TEX3D_SRV }
+ { TextureCube D3D10_TEXCUBE_SRV } ;
+
+STRUCT: D3D10_SHADER_RESOURCE_VIEW_DESC
+ { Format DXGI_FORMAT }
+ { ViewDimension D3D10_SRV_DIMENSION }
+ { View D3D10_SHADER_RESOURCE_VIEW_DESC_UNION } ;
+
+COM-INTERFACE: ID3D10ShaderResourceView ID3D10View {9B7E4C07-342C-4106-A19F-4F2704F689F0}
+ void GetDesc ( D3D10_SHADER_RESOURCE_VIEW_DESC* pDesc ) ;
+
+UNION-STRUCT: D3D10_BUFFER_RTV_UNION1
+ { FirstElement UINT }
+ { ElementOffset UINT } ;
+
+UNION-STRUCT: D3D10_BUFFER_RTV_UNION2
+ { NumElements UINT }
+ { ElementWidth UINT } ;
+
+STRUCT: D3D10_BUFFER_RTV
+ { First D3D10_BUFFER_RTV_UNION1 }
+ { Second D3D10_BUFFER_RTV_UNION2 } ;
+
+STRUCT: D3D10_TEX1D_RTV
+ { MipSlice UINT } ;
+
+STRUCT: D3D10_TEX1D_ARRAY_RTV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D10_TEX2D_RTV
+ { MipSlice UINT } ;
+
+STRUCT: D3D10_TEX2DMS_RTV
+ { UnusedField_NothingToDefine UINT } ;
+
+STRUCT: D3D10_TEX2D_ARRAY_RTV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D10_TEX2DMS_ARRAY_RTV
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D10_TEX3D_RTV
+ { MipSlice UINT }
+ { FirstWSlice UINT }
+ { WSize UINT } ;
+
+UNION-STRUCT: D3D10_RENDER_TARGET_VIEW_DESC_UNION
+ { Buffer D3D10_BUFFER_RTV }
+ { Texture1D D3D10_TEX1D_RTV }
+ { Texture1DArray D3D10_TEX1D_ARRAY_RTV }
+ { Texture2D D3D10_TEX2D_RTV }
+ { Texture2DArray D3D10_TEX2D_ARRAY_RTV }
+ { Texture2DMS D3D10_TEX2DMS_RTV }
+ { Texture2DMSArray D3D10_TEX2DMS_ARRAY_RTV }
+ { Texture3D D3D10_TEX3D_RTV } ;
+
+STRUCT: D3D10_RENDER_TARGET_VIEW_DESC
+ { Format DXGI_FORMAT }
+ { ViewDimension D3D10_RTV_DIMENSION }
+ { View D3D10_RENDER_TARGET_VIEW_DESC_UNION } ;
+
+COM-INTERFACE: ID3D10RenderTargetView ID3D10View {9B7E4C08-342C-4106-A19F-4F2704F689F0}
+ void GetDesc ( D3D10_RENDER_TARGET_VIEW_DESC* pDesc ) ;
+
+STRUCT: D3D10_TEX1D_DSV
+ { MipSlice UINT } ;
+
+STRUCT: D3D10_TEX1D_ARRAY_DSV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D10_TEX2D_DSV
+ { MipSlice UINT } ;
+
+STRUCT: D3D10_TEX2D_ARRAY_DSV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D10_TEX2DMS_DSV
+ { UnusedField_NothingToDefine UINT } ;
+
+STRUCT: D3D10_TEX2DMS_ARRAY_DSV
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+UNION-STRUCT: D3D10_DEPTH_STENCIL_VIEW_DESC_UNION
+ { Texture1D D3D10_TEX1D_DSV }
+ { Texture1DArray D3D10_TEX1D_ARRAY_DSV }
+ { Texture2D D3D10_TEX2D_DSV }
+ { Texture2DArray D3D10_TEX2D_ARRAY_DSV }
+ { Texture2DMS D3D10_TEX2DMS_DSV }
+ { Texture2DMSArray D3D10_TEX2DMS_ARRAY_DSV } ;
+
+STRUCT: D3D10_DEPTH_STENCIL_VIEW_DESC
+ { Format DXGI_FORMAT }
+ { ViewDimension D3D10_DSV_DIMENSION }
+ { Union D3D10_DEPTH_STENCIL_VIEW_DESC_UNION } ;
+
+COM-INTERFACE: ID3D10DepthStencilView ID3D10View {9B7E4C09-342C-4106-A19F-4F2704F689F0}
+ void GetDesc ( D3D10_DEPTH_STENCIL_VIEW_DESC* pDesc ) ;
+
+COM-INTERFACE: ID3D10VertexShader ID3D10DeviceChild {9B7E4C0A-342C-4106-A19F-4F2704F689F0} ;
+
+COM-INTERFACE: ID3D10GeometryShader ID3D10DeviceChild {16BE88-54CD-4040-AB44-20461BC81F68} ;
+
+COM-INTERFACE: ID3D10PixelShader ID3D10DeviceChild {68B601-9D00-4cde-8346-8E7F675819B6} ;
+
+COM-INTERFACE: ID3D10InputLayout ID3D10DeviceChild {7E4C0B-342C-4106-A19F-4F2704F689F0} ;
+
+CONSTANT: D3D10_FILTER_MIN_MAG_MIP_POINT 0
+CONSTANT: D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR HEX: 1
+CONSTANT: D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT HEX: 4
+CONSTANT: D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR HEX: 5
+CONSTANT: D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT HEX: 10
+CONSTANT: D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR HEX: 11
+CONSTANT: D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT HEX: 14
+CONSTANT: D3D10_FILTER_MIN_MAG_MIP_LINEAR HEX: 15
+CONSTANT: D3D10_FILTER_ANISOTROPIC HEX: 55
+CONSTANT: D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT HEX: 80
+CONSTANT: D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR HEX: 81
+CONSTANT: D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT HEX: 84
+CONSTANT: D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR HEX: 85
+CONSTANT: D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT HEX: 90
+CONSTANT: D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR HEX: 91
+CONSTANT: D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT HEX: 94
+CONSTANT: D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR HEX: 95
+CONSTANT: D3D10_FILTER_COMPARISON_ANISOTROPIC HEX: d5
+CONSTANT: D3D10_FILTER_TEXT_1BIT HEX: 80000000
+TYPEDEF: int D3D10_FILTER
+
+CONSTANT: D3D10_FILTER_TYPE_POINT 0
+CONSTANT: D3D10_FILTER_TYPE_LINEAR 1
+TYPEDEF: int D3D10_FILTER_TYPE
+
+CONSTANT: D3D10_FILTER_TYPE_MASK HEX: 3
+CONSTANT: D3D10_MIN_FILTER_SHIFT 4
+CONSTANT: D3D10_MAG_FILTER_SHIFT 2
+CONSTANT: D3D10_MIP_FILTER_SHIFT 0
+CONSTANT: D3D10_COMPARISON_FILTERING_BIT HEX: 80
+CONSTANT: D3D10_ANISOTROPIC_FILTERING_BIT HEX: 40
+CONSTANT: D3D10_TEXT_1BIT_BIT HEX: 80000000
+
+CONSTANT: D3D10_TEXTURE_ADDRESS_WRAP 1
+CONSTANT: D3D10_TEXTURE_ADDRESS_MIRROR 2
+CONSTANT: D3D10_TEXTURE_ADDRESS_CLAMP 3
+CONSTANT: D3D10_TEXTURE_ADDRESS_BORDER 4
+CONSTANT: D3D10_TEXTURE_ADDRESS_MIRROR_ONCE 5
+TYPEDEF: int D3D10_TEXTURE_ADDRESS_MODE
+
+STRUCT: D3D10_SAMPLER_DESC
+ { Filter D3D10_FILTER }
+ { AddressU D3D10_TEXTURE_ADDRESS_MODE }
+ { AddressV D3D10_TEXTURE_ADDRESS_MODE }
+ { AddressW D3D10_TEXTURE_ADDRESS_MODE }
+ { MipLODBias FLOAT }
+ { MaxAnisotropy UINT }
+ { ComparisonFunc D3D10_COMPARISON_FUNC }
+ { BorderColor FLOAT[4] }
+ { MinLOD FLOAT }
+ { MaxLOD FLOAT } ;
+TYPEDEF: D3D10_SAMPLER_DESC D3D10SAMPLER_DESC
+
+COM-INTERFACE: ID3D10SamplerState ID3D10DeviceChild {9B7E4C0C-342C-4106-A19F-4F2704F689F0}
+ void GetDesc ( D3D10SAMPLER_DESC* pDesc ) ;
+
+CONSTANT: D3D10_FORMAT_SUPPORT_BUFFER HEX: 1
+CONSTANT: D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER HEX: 2
+CONSTANT: D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER HEX: 4
+CONSTANT: D3D10_FORMAT_SUPPORT_SO_BUFFER HEX: 8
+CONSTANT: D3D10_FORMAT_SUPPORT_TEXTURE1D HEX: 10
+CONSTANT: D3D10_FORMAT_SUPPORT_TEXTURE2D HEX: 20
+CONSTANT: D3D10_FORMAT_SUPPORT_TEXTURE3D HEX: 40
+CONSTANT: D3D10_FORMAT_SUPPORT_TEXTURECUBE HEX: 80
+CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_LOAD HEX: 100
+CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_SAMPLE HEX: 200
+CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON HEX: 400
+CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT HEX: 800
+CONSTANT: D3D10_FORMAT_SUPPORT_MIP HEX: 1000
+CONSTANT: D3D10_FORMAT_SUPPORT_MIP_AUTOGEN HEX: 2000
+CONSTANT: D3D10_FORMAT_SUPPORT_RENDER_TARGET HEX: 4000
+CONSTANT: D3D10_FORMAT_SUPPORT_BLENDABLE HEX: 8000
+CONSTANT: D3D10_FORMAT_SUPPORT_DEPTH_STENCIL HEX: 10000
+CONSTANT: D3D10_FORMAT_SUPPORT_CPU_LOCKABLE HEX: 20000
+CONSTANT: D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE HEX: 40000
+CONSTANT: D3D10_FORMAT_SUPPORT_DISPLAY HEX: 80000
+CONSTANT: D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT HEX: 100000
+CONSTANT: D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET HEX: 200000
+CONSTANT: D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD HEX: 400000
+CONSTANT: D3D10_FORMAT_SUPPORT_SHADER_GATHER HEX: 800000
+CONSTANT: D3D10_FORMAT_SUPPORT_BACK_BUFFER_CAST HEX: 100000
+TYPEDEF: int D3D10_FORMAT_SUPPORT
+
+COM-INTERFACE: ID3D10Asynchronous ID3D10DeviceChild {9B7E4C0D-342C-4106-A19F-4F2704F689F0}
+ void Begin ( )
+ void End ( )
+ HRESULT GetData ( void* pData, UINT DataSize, UINT GetDataFlags )
+ UINT GetDataSize ( ) ;
+
+CONSTANT: D3D10_ASYNC_GETDATA_DONOTFLUSH 1
+TYPEDEF: int D3D10_ASYNC_GETDATA_FLAG
+
+CONSTANT: D3D10_QUERY_EVENT 0
+CONSTANT: D3D10_QUERY_OCCLUSION 1
+CONSTANT: D3D10_QUERY_TIMESTAMP 2
+CONSTANT: D3D10_QUERY_TIMESTAMP_DISJOINT 3
+CONSTANT: D3D10_QUERY_PIPELINE_STATISTICS 4
+CONSTANT: D3D10_QUERY_OCCLUSION_PREDICATE 5
+CONSTANT: D3D10_QUERY_SO_STATISTICS 6
+CONSTANT: D3D10_QUERY_SO_OVERFLOW_PREDICATE 7
+TYPEDEF: int D3D10_QUERY
+
+CONSTANT: D3D10_QUERY_MISC_PREDICATEHINT 1
+TYPEDEF: int D3D10_QUERY_MISC_FLAG
+
+STRUCT: D3D10_QUERY_DESC
+ { Query D3D10_QUERY }
+ { MiscFlags UINT } ;
+
+COM-INTERFACE: ID3D10Query ID3D10Asynchronous {9B7E4C0E-342C-4106-A19F-4F2704F689F0}
+ void GetDesc ( D3D10_QUERY_DESC* pDesc ) ;
+
+COM-INTERFACE: ID3D10Predicate ID3D10Query {9B7E4C10-342C-4106-A19F-4F2704F689F0} ;
+
+STRUCT: D3D10_QUERY_DATA_TIMESTAMP_DISJOINT
+ { Frequency UINT64 }
+ { Disjoint BOOL } ;
+
+STRUCT: D3D10_QUERY_DATA_PIPELINE_STATISTICS
+ { IAVertices UINT64 }
+ { IAPrimitives UINT64 }
+ { VSInvocations UINT64 }
+ { GSInvocations UINT64 }
+ { GSPrimitives UINT64 }
+ { CInvocations UINT64 }
+ { CPrimitives UINT64 }
+ { PSInvocations UINT64 } ;
+
+STRUCT: D3D10_QUERY_DATA_SO_STATISTICS
+ { NumPrimitivesWritten UINT64 }
+ { PrimitivesStorageNeeded UINT64 } ;
+
+CONSTANT: D3D10_COUNTER_GPU_IDLE 0
+CONSTANT: D3D10_COUNTER_VERTEX_PROCESSING 1
+CONSTANT: D3D10_COUNTER_GEOMETRY_PROCESSING 2
+CONSTANT: D3D10_COUNTER_PIXEL_PROCESSING 3
+CONSTANT: D3D10_COUNTER_OTHER_GPU_PROCESSING 4
+CONSTANT: D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION 5
+CONSTANT: D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION 6
+CONSTANT: D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION 7
+CONSTANT: D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION 8
+CONSTANT: D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION 9
+CONSTANT: D3D10_COUNTER_VS_MEMORY_LIMITED 10
+CONSTANT: D3D10_COUNTER_VS_COMPUTATION_LIMITED 11
+CONSTANT: D3D10_COUNTER_GS_MEMORY_LIMITED 12
+CONSTANT: D3D10_COUNTER_GS_COMPUTATION_LIMITED 13
+CONSTANT: D3D10_COUNTER_PS_MEMORY_LIMITED 14
+CONSTANT: D3D10_COUNTER_PS_COMPUTATION_LIMITED 15
+CONSTANT: D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE 16
+CONSTANT: D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE 17
+CONSTANT: D3D10_COUNTER_DEVICE_DEPENDENT_0 HEX: 40000000
+TYPEDEF: int D3D10_COUNTER
+
+CONSTANT: D3D10_COUNTER_TYPE_FLOAT32 0
+CONSTANT: D3D10_COUNTER_TYPE_UINT16 1
+CONSTANT: D3D10_COUNTER_TYPE_UINT32 2
+CONSTANT: D3D10_COUNTER_TYPE_UINT64 3
+TYPEDEF: int D3D10_COUNTER_TYPE
+
+STRUCT: D3D10_COUNTER_DESC
+ { Counter D3D10_COUNTER }
+ { MiscFlags UINT } ;
+
+STRUCT: D3D10_COUNTER_INFO
+ { LastDeviceDependentCounter D3D10_COUNTER }
+ { NumSimultaneousCounters UINT }
+ { NumDetectableParallelUnits BYTE } ;
+
+COM-INTERFACE: ID3D10Counter ID3D10Asynchronous {9B7E4C11-342C-4106-A19F-4F2704F689F0}
+ void GetDesc ( D3D10_COUNTER_DESC* pDesc ) ;
+
+COM-INTERFACE: ID3D10Device IUnknown {9B7E4C0F-342C-4106-A19F-4F2704F689F0}
+ void VSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers )
+ void PSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceView )
+ void PSSetShader ( ID3D10PixelShader* pPixelShader )
+ void PSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers )
+ void VSSetShader ( ID3D10VertexShader* pVertexShader )
+ void DrawIndexed ( UINT IndexCount, UINT StartIndexLocation, INT BaseVertexLocation )
+ void Draw ( UINT VertexCount, UINT StartVertexLocation )
+ void PSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers )
+ void IASetInputLayout ( ID3D10InputLayout* pInputLayout )
+ void IASetVertexBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppVertexBuffers, UINT* pStrides, UINT* pOffsets )
+ void IASetIndexBuffer ( ID3D10Buffer* pIndexBuffer, DXGI_FORMAT Format, UINT Offset )
+ void DrawIndexedInstanced ( UINT IndexCountPerInstance, UINT InstanceCount, UINT StartIndexLocation, INT BaseVertexLocation, UINT StartInstanceLocation )
+ void DrawInstanced ( UINT VertexCountPerInstance, UINT InstanceCount, UINT StartVertexLocation, UINT StartInstanceLocation )
+ void GSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers )
+ void GSSetShader ( ID3D10GeometryShader* pShader )
+ void IASetPrimitiveTopology ( D3D10_PRIMITIVE_TOPOLOGY Topology )
+ void VSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews )
+ void VSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers )
+ void SetPredication ( ID3D10Predicate* pPredicate, BOOL PredicateValue )
+ void GSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews )
+ void GSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers )
+ void OMSetRenderTargets ( UINT NumViews, ID3D10RenderTargetView** ppRenderTargetViews, ID3D10DepthStencilView* pDepthStencilView )
+ void OMSetBlendState ( ID3D10BlendState* pBlendState, FLOAT[4] BlendFactor, UINT SampleMask )
+ void OMSetDepthStencilState ( ID3D10DepthStencilState* pDepthStencilState, UINT StencilRef )
+ void SOSetTargets ( UINT NumBuffers, ID3D10Buffer** ppSOTargets, UINT* pOffsets )
+ void DrawAuto ( )
+ void RSSetState ( ID3D10RasterizerState* pRasterizerState )
+ void RSSetViewports ( UINT NumViewports, D3D10_VIEWPORT* pViewports )
+ void RSSetScissorRects ( UINT NumRects, D3D10_RECT* pRects )
+ void CopySubresourceRegion ( ID3D10Resource* pDstResource, UINT DstSubresource, UINT DstX, UINT DstY, UINT DstZ, ID3D10Resource* pSrcResource, UINT SrcSubresource, D3D10_BOX* pSrcBox )
+ void CopyResource ( ID3D10Resource* pDstResource, ID3D10Resource* pSrcResource )
+ void UpdateSubresource ( ID3D10Resource* pDstResource, UINT DstSubresource, D3D10_BOX* pDstBox, void* pSrcData, UINT SrcRowPitch, UINT SrcDepthPitch )
+ void ClearRenderTargetView ( ID3D10RenderTargetView* pRenderTargetView, FLOAT[4] ColorRGBA )
+ void ClearDepthStencilView ( ID3D10DepthStencilView* pDepthStencilView, UINT ClearFlags, FLOAT Depth, BYTE Stencil )
+ void GenerateMips ( ID3D10ShaderResourceView* pShaderResourceView )
+ void ResolveSubresource ( ID3D10Resource* pDstResource, UINT DstSubresource, ID3D10Resource* pSrcResource, UINT SrcSubresource, DXGI_FORMAT Format )
+ void VSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers )
+ void PSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews )
+ void PSGetShader ( ID3D10PixelShader** ppPixelShader )
+ void PSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers )
+ void VSGetShader ( ID3D10VertexShader** ppVertexShader )
+ void PSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers )
+ void IAGetInputLayout ( ID3D10InputLayout** ppInputLayout )
+ void IAGetVertexBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppVertexBuffers, UINT* pStrides, UINT* pOffsets )
+ void IAGetIndexBuffer ( ID3D10Buffer** pIndexBuffer, DXGI_FORMAT* Format, UINT* Offset )
+ void GSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D10Buffer** ppConstantBuffers )
+ void GSGetShader ( ID3D10GeometryShader** ppGeometryShader )
+ void IAGetPrimitiveTopology ( D3D10_PRIMITIVE_TOPOLOGY* pTopology )
+ void VSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews )
+ void VSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers )
+ void GetPredication ( ID3D10Predicate** ppPredicate, BOOL* pPredicateValue )
+ void GSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D10ShaderResourceView** ppShaderResourceViews )
+ void GSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D10SamplerState** ppSamplers )
+ void OMGetRenderTargets ( UINT NumViews, ID3D10RenderTargetView** ppRenderTargetViews, ID3D10DepthStencilView** ppDepthStencilView )
+ void OMGetBlendState ( ID3D10BlendState** ppBlendState, FLOAT[4] BlendFactor, UINT* pSampleMask )
+ void OMGetDepthStencilState ( ID3D10DepthStencilState** ppDepthStencilState, UINT* pStencilRef )
+ void SOGetTargets ( UINT NumBuffers, ID3D10Buffer** ppSOTargets, UINT* pOffsets )
+ void RSGetState ( ID3D10RasterizerState** ppRasterizerState )
+ void RSGetViewports ( UINT* NumViewports, D3D10_VIEWPORT* pViewports )
+ void RSGetScissorRects ( UINT* NumRects, D3D10_RECT* pRects )
+ HRESULT GetDeviceRemovedReason ( )
+ HRESULT SetExceptionMode ( UINT RaiseFlags )
+ UINT GetExceptionMode ( )
+ HRESULT GetPrivateData ( REFGUID guid, UINT* pDataSize, void* pData )
+ HRESULT SetPrivateData ( REFGUID guid, UINT DataSize, void* pData )
+ HRESULT SetPrivateDataInterface ( REFGUID guid, IUnknown* pData )
+ void ClearState ( )
+ void Flush ( )
+ HRESULT CreateBuffer ( D3D10_BUFFER_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Buffer** ppBuffer )
+ HRESULT CreateTexture1D ( D3D10_TEXTURE1D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture1D** ppTexture1D )
+ HRESULT CreateTexture2D ( D3D10_TEXTURE2D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture2D** ppTexture2D )
+ HRESULT CreateTexture3D ( D3D10_TEXTURE3D_DESC* pDesc, D3D10_SUBRESOURCE_DATA* pInitialData, ID3D10Texture3D** ppTexture3D )
+ HRESULT CreateShaderResourceView ( ID3D10Resource* pResource, D3D10_SHADER_RESOURCE_VIEW_DESC* pDesc, ID3D10ShaderResourceView** ppSRView )
+ HRESULT CreateRenderTargetView ( ID3D10Resource* pResource, D3D10_RENDER_TARGET_VIEW_DESC* pDesc, ID3D10RenderTargetView** ppRTView )
+ HRESULT CreateDepthStencilView ( ID3D10Resource* pResource, D3D10_DEPTH_STENCIL_VIEW_DESC* pDesc, ID3D10DepthStencilView** ppDepthStencilView )
+ HRESULT CreateInputLayout ( D3D10_INPUT_ELEMENT_DESC* pInputElementDescs, UINT NumElements, void* pShaderBytecodeWithInputSignature, SIZE_T BytecodeLength, ID3D10InputLayout** ppInputLayout )
+ HRESULT CreateVertexShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10VertexShader** ppVertexShader )
+ HRESULT CreateGeometryShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10GeometryShader** ppGeometryShader )
+ HRESULT CreateGeometryShaderWithStreamOutput ( void* pShaderBytecode, SIZE_T BytecodeLength, D3D10_SO_DECLARATION_ENTRY* pSODeclaration, UINT NumEntries, UINT OutputStreamStride, ID3D10GeometryShader** ppGeometryShader )
+ HRESULT CreatePixelShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10PixelShader** ppPixelShader )
+ HRESULT CreateBlendState ( D3D10_BLEND_DESC* pBlendStateDesc, ID3D10BlendState** ppBlendState )
+ HRESULT CreateDepthStencilState ( D3D10_DEPTH_STENCIL_DESC* pDepthStencilDesc, ID3D10DepthStencilState** ppDepthStencilState )
+ HRESULT CreateRasterizerState ( D3D10_RASTERIZER_DESC* pRasterizerDesc, ID3D10RasterizerState** ppRasterizerState )
+ HRESULT CreateSamplerState ( D3D10_SAMPLER_DESC* pSamplerDesc, ID3D10SamplerState** ppSamplerState )
+ HRESULT CreateQuery ( D3D10_QUERY_DESC* pQueryDesc, ID3D10Query** ppQuery )
+ HRESULT CreatePredicate ( D3D10_QUERY_DESC* pPredicateDesc, ID3D10Predicate** ppPredicate )
+ HRESULT CreateCounter ( D3D10_COUNTER_DESC* pCounterDesc, ID3D10Counter** ppCounter )
+ HRESULT CheckFormatSupport ( DXGI_FORMAT Format, UINT* pFormatSupport )
+ HRESULT CheckMultisampleQualityLevels ( DXGI_FORMAT Format, UINT SampleCount, UINT* pNumQualityLevels )
+ void CheckCounterInfo ( D3D10_COUNTER_INFO* pCounterInfo )
+ HRESULT CheckCounter ( D3D10_COUNTER_DESC* pDesc, D3D10_COUNTER_TYPE* pType, UINT* pActiveCounters, LPSTR szName, UINT* pNameLength, LPSTR szUnits, UINT* pUnitsLength, LPSTR szDescription, UINT* pDescriptionLength )
+ UINT GetCreationFlags ( )
+ HRESULT OpenSharedResource ( HANDLE hResource, REFIID ReturnedInterface, void** ppResource )
+ void SetTextFilterSize ( UINT Width, UINT Height )
+ void GetTextFilterSize ( UINT* pWidth, UINT* pHeight ) ;
+
+COM-INTERFACE: ID3D10Multithread IUnknown {9B7E4E00-342C-4106-A19F-4F2704F689F0}
+ void Enter ( )
+ void Leave ( )
+ BOOL SetMultithreadProtected ( BOOL bMTProtect )
+ BOOL GetMultithreadProtected ( ) ;
+
+CONSTANT: D3D10_CREATE_DEVICE_SINGLETHREADED HEX: 1
+CONSTANT: D3D10_CREATE_DEVICE_DEBUG HEX: 2
+CONSTANT: D3D10_CREATE_DEVICE_SWITCH_TO_REF HEX: 4
+CONSTANT: D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS HEX: 8
+CONSTANT: D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP HEX: 10
+CONSTANT: D3D10_CREATE_DEVICE_BGRA_SUPPORT HEX: 20
+CONSTANT: D3D10_CREATE_DEVICE_STRICT_VALIDATION HEX: 200
+TYPEDEF: int D3D10_CREATE_DEVICE_FLAG
+
+CONSTANT: D3D10_SDK_VERSION 29
+
+CONSTANT: D3DX10_ERR_CANNOT_MODIFY_INDEX_BUFFER HEX: 88760B54
+CONSTANT: D3DX10_ERR_INVALID_MESH HEX: 88760B55
+CONSTANT: D3DX10_ERR_CANNOT_ATTR_SORT HEX: 88760B56
+CONSTANT: D3DX10_ERR_SKINNING_NOT_SUPPORTED HEX: 88760B57
+CONSTANT: D3DX10_ERR_TOO_MANY_INFLUENCES HEX: 88760B58
+CONSTANT: D3DX10_ERR_INVALID_DATA HEX: 88760B59
+CONSTANT: D3DX10_ERR_LOADED_MESH_HAS_NO_DATA HEX: 88760B5A
+CONSTANT: D3DX10_ERR_DUPLICATE_NAMED_FRAGMENT HEX: 88760B5B
+CONSTANT: D3DX10_ERR_CANNOT_REMOVE_LAST_ITEM HEX: 88760B5C
--- /dev/null
+Direct3D 10 bindings. Corresponds to D3D10.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct
+windows.com.syntax windows.directx.d3d10
+windows.directx.d3d10misc windows.directx.dxgi
+windows.directx.dxgiformat windows.types ;
+IN: windows.directx.d3d10_1
+
+LIBRARY: d3d10_1
+
+CONSTANT: D3D10_1_DEFAULT_SAMPLE_MASK HEX: ffffffff
+CONSTANT: D3D10_1_FLOAT16_FUSED_TOLERANCE_IN_ULP 0.6
+CONSTANT: D3D10_1_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP 0.6
+CONSTANT: D3D10_1_GS_INPUT_REGISTER_COUNT 32
+CONSTANT: D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT 32
+CONSTANT: D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS 128
+CONSTANT: D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT 32
+CONSTANT: D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENTS 1
+CONSTANT: D3D10_1_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D10_1_PS_OUTPUT_MASK_REGISTER_COUNT 1
+CONSTANT: D3D10_1_SHADER_MAJOR_VERSION 4
+CONSTANT: D3D10_1_SHADER_MINOR_VERSION 1
+CONSTANT: D3D10_1_SO_BUFFER_MAX_STRIDE_IN_BYTES 2048
+CONSTANT: D3D10_1_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES 256
+CONSTANT: D3D10_1_SO_BUFFER_SLOT_COUNT 4
+CONSTANT: D3D10_1_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER 1
+CONSTANT: D3D10_1_SO_SINGLE_BUFFER_COMPONENT_LIMIT 64
+CONSTANT: D3D10_1_STANDARD_VERTEX_ELEMENT_COUNT 32
+CONSTANT: D3D10_1_SUBPIXEL_FRACTIONAL_BIT_COUNT 8
+CONSTANT: D3D10_1_VS_INPUT_REGISTER_COUNT 32
+CONSTANT: D3D10_1_VS_OUTPUT_REGISTER_COUNT 32
+
+CONSTANT: D3D10_FEATURE_LEVEL_10_0 HEX: a000
+CONSTANT: D3D10_FEATURE_LEVEL_10_1 HEX: a100
+CONSTANT: D3D10_FEATURE_LEVEL_9_1 HEX: 9100
+CONSTANT: D3D10_FEATURE_LEVEL_9_2 HEX: 9200
+CONSTANT: D3D10_FEATURE_LEVEL_9_3 HEX: 9300
+TYPEDEF: int D3D10_FEATURE_LEVEL1
+
+STRUCT: D3D10_RENDER_TARGET_BLEND_DESC1
+ { BlendEnable BOOL }
+ { SrcBlend D3D10_BLEND }
+ { DestBlend D3D10_BLEND }
+ { BlendOp D3D10_BLEND_OP }
+ { SrcBlendAlpha D3D10_BLEND }
+ { DestBlendAlpha D3D10_BLEND }
+ { BlendOpAlpha D3D10_BLEND_OP }
+ { RenderTargetWriteMask BYTE } ;
+
+STRUCT: D3D10_BLEND_DESC1
+ { AlphaToCoverageEnable BOOL }
+ { IndependentBlendEnable BOOL }
+ { RenderTarget D3D10_RENDER_TARGET_BLEND_DESC1[8] } ;
+
+COM-INTERFACE: ID3D10BlendState1 ID3D10BlendState {EDAD8D99-8A35-4d6d-8566-2EA276CDE161}
+ void GetDesc1 ( D3D10_BLEND_DESC1* pDesc ) ;
+
+STRUCT: D3D10_TEXCUBE_ARRAY_SRV1
+ { MostDetailedMip UINT }
+ { MipLevels UINT }
+ { First2DArrayFace UINT }
+ { NumCubes UINT } ;
+
+CONSTANT: D3D10_1_SRV_DIMENSION_UNKNOWN 0
+CONSTANT: D3D10_1_SRV_DIMENSION_BUFFER 1
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE1D 2
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY 3
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE2D 4
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY 5
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE2DMS 6
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY 7
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURE3D 8
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURECUBE 9
+CONSTANT: D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY 10
+TYPEDEF: int D3D10_SRV_DIMENSION1
+
+UNION-STRUCT: D3D10_SHADER_RESOURCE_VIEW_DESC1_UNION
+ { Buffer D3D10_BUFFER_SRV }
+ { Texture1D D3D10_TEX1D_SRV }
+ { Texture1DArray D3D10_TEX1D_ARRAY_SRV }
+ { Texture2D D3D10_TEX2D_SRV }
+ { Texture2DArray D3D10_TEX2D_ARRAY_SRV }
+ { Texture2DMS D3D10_TEX2DMS_SRV }
+ { Texture2DMSArray D3D10_TEX2DMS_ARRAY_SRV }
+ { Texture3D D3D10_TEX3D_SRV }
+ { TextureCube D3D10_TEXCUBE_SRV }
+ { TextureCubeArray D3D10_TEXCUBE_ARRAY_SRV1 } ;
+STRUCT: D3D10_SHADER_RESOURCE_VIEW_DESC1
+ { Format DXGI_FORMAT }
+ { ViewDimension D3D10_SRV_DIMENSION1 }
+ { View D3D10_SHADER_RESOURCE_VIEW_DESC1_UNION } ;
+
+COM-INTERFACE: ID3D10ShaderResourceView1 ID3D10ShaderResourceView {9B7E4C87-342C-4106-A19F-4F2704F689F0}
+ void GetDesc1 ( D3D10_SHADER_RESOURCE_VIEW_DESC1* pDesc ) ;
+
+CONSTANT: D3D10_STANDARD_MULTISAMPLE_PATTERN HEX: ffffffff
+CONSTANT: D3D10_CENTER_MULTISAMPLE_PATTERN HEX: fffffffe
+TYPEDEF: int D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS
+
+COM-INTERFACE: ID3D10Device1 ID3D10Device {9B7E4C8F-342C-4106-A19F-4F2704F689F0}
+ HRESULT CreateShaderResourceView1 (
+ ID3D10Resource* pResource,
+ D3D10_SHADER_RESOURCE_VIEW_DESC1* pDesc,
+ ID3D10ShaderResourceView1** ppSRView )
+ HRESULT CreateBlendState1 (
+ D3D10_BLEND_DESC1* pBlendStateDesc,
+ ID3D10BlendState1** ppBlendState )
+ D3D10_FEATURE_LEVEL1 GetFeatureLevel ( ) ;
+
+CONSTANT: D3D10_1_SDK_VERSION HEX: 20
+
+FUNCTION: HRESULT D3D10CreateDevice1 (
+ IDXGIAdapter* pAdapter,
+ D3D10_DRIVER_TYPE DriverType,
+ HMODULE Software,
+ UINT Flags,
+ D3D10_FEATURE_LEVEL1 HardwareLevel,
+ UINT SDKVersion,
+ ID3D10Device1** ppDevice ) ;
+
+FUNCTION: HRESULT D3D10CreateDeviceAndSwapChain1 (
+ IDXGIAdapter* pAdapter,
+ D3D10_DRIVER_TYPE DriverType,
+ HMODULE Software,
+ UINT Flags,
+ D3D10_FEATURE_LEVEL1 HardwareLevel,
+ UINT SDKVersion,
+ DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,
+ IDXGISwapChain** ppSwapChain,
+ ID3D10Device1** ppDevice ) ;
--- /dev/null
+Direct3D 10.1 bindings. Corresponds to d3d10_1.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.d3d10 windows.directx.d3d10shader
+windows.types ;
+IN: windows.directx.d3d10_1shader
+
+LIBRARY: d3d10_1
+
+CONSTANT: D3D10_SHADER_DEBUG_REG_INPUT 0
+CONSTANT: D3D10_SHADER_DEBUG_REG_OUTPUT 1
+CONSTANT: D3D10_SHADER_DEBUG_REG_CBUFFER 2
+CONSTANT: D3D10_SHADER_DEBUG_REG_TBUFFER 3
+CONSTANT: D3D10_SHADER_DEBUG_REG_TEMP 4
+CONSTANT: D3D10_SHADER_DEBUG_REG_TEMPARRAY 5
+CONSTANT: D3D10_SHADER_DEBUG_REG_TEXTURE 6
+CONSTANT: D3D10_SHADER_DEBUG_REG_SAMPLER 7
+CONSTANT: D3D10_SHADER_DEBUG_REG_IMMEDIATECBUFFER 8
+CONSTANT: D3D10_SHADER_DEBUG_REG_LITERAL 9
+CONSTANT: D3D10_SHADER_DEBUG_REG_UNUSED 10
+CONSTANT: D3D11_SHADER_DEBUG_REG_INTERFACE_POINTERS 11
+CONSTANT: D3D10_SHADER_DEBUG_REG_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3D10_SHADER_DEBUG_REGTYPE
+
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_GLOBAL 0
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_BLOCK 1
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_FORLOOP 2
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_STRUCT 3
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_FUNC_PARAMS 4
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_STATEBLOCK 5
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_NAMESPACE 6
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_ANNOTATION 7
+CONSTANT: D3D10_SHADER_DEBUG_SCOPE_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3D10_SHADER_DEBUG_SCOPETYPE
+
+CONSTANT: D3D10_SHADER_DEBUG_VAR_VARIABLE 0
+CONSTANT: D3D10_SHADER_DEBUG_VAR_FUNCTION 1
+CONSTANT: D3D10_SHADER_DEBUG_VAR_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3D10_SHADER_DEBUG_VARTYPE
+
+STRUCT: D3D10_SHADER_DEBUG_TOKEN_INFO
+ { File UINT }
+ { Line UINT }
+ { Column UINT }
+ { TokenLength UINT }
+ { TokenId UINT } ;
+
+STRUCT: D3D10_SHADER_DEBUG_VAR_INFO
+ { TokenId UINT }
+ { Type D3D10_SHADER_VARIABLE_TYPE }
+ { Register UINT }
+ { Component UINT }
+ { ScopeVar UINT }
+ { ScopeVarOffset UINT } ;
+
+STRUCT: D3D10_SHADER_DEBUG_INPUT_INFO
+ { Var UINT }
+ { InitialRegisterSet D3D10_SHADER_DEBUG_REGTYPE }
+ { InitialBank UINT }
+ { InitialRegister UINT }
+ { InitialComponent UINT }
+ { InitialValue UINT } ;
+
+STRUCT: D3D10_SHADER_DEBUG_SCOPEVAR_INFO
+ { TokenId UINT }
+ { VarType D3D10_SHADER_DEBUG_VARTYPE }
+ { Class D3D10_SHADER_VARIABLE_CLASS }
+ { Rows UINT }
+ { Columns UINT }
+ { StructMemberScope UINT }
+ { uArrayIndices UINT }
+ { ArrayElements UINT }
+ { ArrayStrides UINT }
+ { uVariables UINT }
+ { uFirstVariable UINT } ;
+
+STRUCT: D3D10_SHADER_DEBUG_SCOPE_INFO
+ { ScopeType D3D10_SHADER_DEBUG_SCOPETYPE }
+ { Name UINT }
+ { uNameLen UINT }
+ { uVariables UINT }
+ { VariableData UINT } ;
+
+STRUCT: D3D10_SHADER_DEBUG_OUTPUTVAR
+ { Var UINT }
+ { uValueMin UINT }
+ { uValueMax UINT }
+ { iValueMin INT }
+ { iValueMax INT }
+ { fValueMin FLOAT }
+ { fValueMax FLOAT }
+ { bNaNPossible BOOL }
+ { bInfPossible BOOL } ;
+
+STRUCT: D3D10_SHADER_DEBUG_OUTPUTREG_INFO
+ { OutputRegisterSet D3D10_SHADER_DEBUG_REGTYPE }
+ { OutputReg UINT }
+ { TempArrayReg UINT }
+ { OutputComponents UINT[4] }
+ { OutputVars D3D10_SHADER_DEBUG_OUTPUTVAR[4] }
+ { IndexReg UINT }
+ { IndexComp UINT } ;
+
+STRUCT: D3D10_SHADER_DEBUG_INST_INFO
+ { Id UINT }
+ { Opcode UINT }
+ { uOutputs UINT }
+ { pOutputs D3D10_SHADER_DEBUG_OUTPUTREG_INFO[2] }
+ { TokenId UINT }
+ { NestingLevel UINT }
+ { Scopes UINT }
+ { ScopeInfo UINT }
+ { AccessedVars UINT }
+ { AccessedVarsInfo UINT } ;
+
+STRUCT: D3D10_SHADER_DEBUG_FILE_INFO
+ { FileName UINT }
+ { FileNameLen UINT }
+ { FileData UINT }
+ { FileLen UINT } ;
+
+STRUCT: D3D10_SHADER_DEBUG_INFO
+ { Size UINT }
+ { Creator UINT }
+ { EntrypointName UINT }
+ { ShaderTarget UINT }
+ { CompileFlags UINT }
+ { Files UINT }
+ { FileInfo UINT }
+ { Instructions UINT }
+ { InstructionInfo UINT }
+ { Variables UINT }
+ { VariableInfo UINT }
+ { InputVariables UINT }
+ { InputVariableInfo UINT }
+ { Tokens UINT }
+ { TokenInfo UINT }
+ { Scopes UINT }
+ { ScopeInfo UINT }
+ { ScopeVariables UINT }
+ { ScopeVariableInfo UINT }
+ { UintOffset UINT }
+ { StringOffset UINT } ;
+
+C-TYPE: ID3D10ShaderReflection1
+TYPEDEF: ID3D10ShaderReflection1* LPD3D10SHADERREFLECTION1
+
+COM-INTERFACE: ID3D10ShaderReflection1 IUnknown {C3457783-A846-47CE-9520-CEA6F66E7447}
+ HRESULT GetDesc ( D3D10_SHADER_DESC* pDesc )
+ ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex ( UINT Index )
+ ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName ( LPCSTR Name )
+ HRESULT GetResourceBindingDesc ( UINT ResourceIndex, D3D10_SHADER_INPUT_BIND_DESC* pDesc )
+ HRESULT GetInputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc )
+ HRESULT GetOutputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc )
+ ID3D10ShaderReflectionVariable* GetVariableByName ( LPCSTR Name )
+ HRESULT GetResourceBindingDescByName ( LPCSTR Name, D3D10_SHADER_INPUT_BIND_DESC* pDesc )
+ HRESULT GetMovInstructionCount ( UINT* pCount )
+ HRESULT GetMovcInstructionCount ( UINT* pCount )
+ HRESULT GetConversionInstructionCount ( UINT* pCount )
+ HRESULT GetBitwiseInstructionCount ( UINT* pCount )
+ HRESULT GetGSInputPrimitive ( D3D10_PRIMITIVE* pPrim )
+ HRESULT IsLevel9Shader ( BOOL* pbLevel9Shader )
+ HRESULT IsSampleFrequencyShader ( BOOL* pbSampleFrequency ) ;
--- /dev/null
+Direct3D 10.1 bindings. Corresponds to d3d10_1shader.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.d3d10
+windows.directx.d3d10shader windows.types ;
+IN: windows.directx.d3d10effect
+
+LIBRARY: d3d10
+
+CONSTANT: D3D10_DST_SO_BUFFERS 1
+CONSTANT: D3D10_DST_OM_RENDER_TARGETS 2
+CONSTANT: D3D10_DST_OM_DEPTH_STENCIL_STATE 3
+CONSTANT: D3D10_DST_OM_BLEND_STATE 4
+CONSTANT: D3D10_DST_VS 5
+CONSTANT: D3D10_DST_VS_SAMPLERS 6
+CONSTANT: D3D10_DST_VS_SHADER_RESOURCES 7
+CONSTANT: D3D10_DST_VS_CONSTANT_BUFFERS 8
+CONSTANT: D3D10_DST_GS 9
+CONSTANT: D3D10_DST_GS_SAMPLERS 10
+CONSTANT: D3D10_DST_GS_SHADER_RESOURCES 11
+CONSTANT: D3D10_DST_GS_CONSTANT_BUFFERS 12
+CONSTANT: D3D10_DST_PS 13
+CONSTANT: D3D10_DST_PS_SAMPLERS 14
+CONSTANT: D3D10_DST_PS_SHADER_RESOURCES 15
+CONSTANT: D3D10_DST_PS_CONSTANT_BUFFERS 16
+CONSTANT: D3D10_DST_IA_VERTEX_BUFFERS 17
+CONSTANT: D3D10_DST_IA_INDEX_BUFFER 18
+CONSTANT: D3D10_DST_IA_INPUT_LAYOUT 19
+CONSTANT: D3D10_DST_IA_PRIMITIVE_TOPOLOGY 20
+CONSTANT: D3D10_DST_RS_VIEWPORTS 21
+CONSTANT: D3D10_DST_RS_SCISSOR_RECTS 22
+CONSTANT: D3D10_DST_RS_RASTERIZER_STATE 23
+CONSTANT: D3D10_DST_PREDICATION 24
+TYPEDEF: int D3D10_DEVICE_STATE_TYPES
+
+STRUCT: D3D10_STATE_BLOCK_MASK
+ { VS BYTE }
+ { VSSamplers BYTE[2] }
+ { VSShaderResources BYTE[8] }
+ { VSConstantBuffers BYTE[2] }
+ { GS BYTE }
+ { GSSamplers BYTE[2] }
+ { GSShaderResources BYTE[8] }
+ { GSConstantBuffers BYTE[2] }
+ { PS BYTE }
+ { PSSamplers BYTE[2] }
+ { PSShaderResources BYTE[8] }
+ { PSConstantBuffers BYTE[2] }
+ { IAVertexBuffers BYTE[2] }
+ { IAIndexBuffer BYTE }
+ { IAInputLayout BYTE }
+ { IAPrimitiveTopology BYTE }
+ { OMRenderTargets BYTE }
+ { OMDepthStencilState BYTE }
+ { OMBlendState BYTE }
+ { RSViewports BYTE }
+ { RSScissorRects BYTE }
+ { RSRasterizerState BYTE }
+ { SOBuffers BYTE }
+ { Predication BYTE } ;
+
+COM-INTERFACE: ID3D10StateBlock IUnknown {0803425A-57F5-4dd6-9465-A87570834A08}
+ HRESULT Capture ( )
+ HRESULT Apply ( )
+ HRESULT ReleaseAllDeviceObjects ( )
+ HRESULT GetDevice ( ID3D10Device** ppDevice ) ;
+TYPEDEF: ID3D10StateBlock* LPD3D10STATEBLOCK
+
+FUNCTION: HRESULT D3D10StateBlockMaskUnion ( D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult ) ;
+FUNCTION: HRESULT D3D10StateBlockMaskIntersect ( D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult ) ;
+FUNCTION: HRESULT D3D10StateBlockMaskDifference ( D3D10_STATE_BLOCK_MASK* pA, D3D10_STATE_BLOCK_MASK* pB, D3D10_STATE_BLOCK_MASK* pResult ) ;
+FUNCTION: HRESULT D3D10StateBlockMaskEnableCapture ( D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength ) ;
+FUNCTION: HRESULT D3D10StateBlockMaskDisableCapture ( D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT RangeStart, UINT RangeLength ) ;
+FUNCTION: HRESULT D3D10StateBlockMaskEnableAll ( D3D10_STATE_BLOCK_MASK* pMask ) ;
+FUNCTION: HRESULT D3D10StateBlockMaskDisableAll ( D3D10_STATE_BLOCK_MASK* pMask ) ;
+FUNCTION: BOOL D3D10StateBlockMaskGetSetting ( D3D10_STATE_BLOCK_MASK* pMask, D3D10_DEVICE_STATE_TYPES StateType, UINT Entry ) ;
+
+FUNCTION: HRESULT D3D10CreateStateBlock ( ID3D10Device* pDevice, D3D10_STATE_BLOCK_MASK* pStateBlockMask, ID3D10StateBlock** ppStateBlock ) ;
+
+CONSTANT: D3D10_EFFECT_COMPILE_CHILD_EFFECT 1
+CONSTANT: D3D10_EFFECT_COMPILE_ALLOW_SLOW_OPS 2
+CONSTANT: D3D10_EFFECT_SINGLE_THREADED 8
+
+CONSTANT: D3D10_EFFECT_VARIABLE_POOLED 1
+CONSTANT: D3D10_EFFECT_VARIABLE_ANNOTATION 2
+CONSTANT: D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT 4
+
+STRUCT: D3D10_EFFECT_TYPE_DESC
+ { TypeName LPCSTR }
+ { Class D3D10_SHADER_VARIABLE_CLASS }
+ { Type D3D10_SHADER_VARIABLE_TYPE }
+ { Elements UINT }
+ { Members UINT }
+ { Rows UINT }
+ { Columns UINT }
+ { PackedSize UINT }
+ { UnpackedSize UINT }
+ { Stride UINT } ;
+
+COM-INTERFACE: ID3D10EffectType f {4E9E1DDC-CD9D-4772-A837-00180B9B88FD}
+ BOOL IsValid ( )
+ HRESULT GetDesc ( D3D10_EFFECT_TYPE_DESC* pDesc )
+ ID3D10EffectType* GetMemberTypeByIndex ( UINT Index )
+ ID3D10EffectType* GetMemberTypeByName ( LPCSTR Name )
+ ID3D10EffectType* GetMemberTypeBySemantic ( LPCSTR Semantic )
+ LPCSTR GetMemberName ( UINT Index )
+ LPCSTR GetMemberSemantic ( UINT Index ) ;
+TYPEDEF: ID3D10EffectType* LPD3D10EFFECTTYPE
+
+STRUCT: D3D10_EFFECT_VARIABLE_DESC
+ { Name LPCSTR }
+ { Semantic LPCSTR }
+ { Flags UINT }
+ { Annotations UINT }
+ { BufferOffset UINT }
+ { ExplicitBindPoint UINT } ;
+
+COM-INTERFACE: ID3D10EffectVariable f {AE897105-00E6-45bf-BB8E-281DD6DB8E1B}
+ BOOL IsValid ( )
+ ID3D10EffectType* GetType ( )
+ HRESULT GetDesc ( D3D10_EFFECT_VARIABLE_DESC* pDesc )
+ ID3D10EffectVariable* GetAnnotationByIndex ( UINT Index )
+ ID3D10EffectVariable* GetAnnotationByName ( LPCSTR Name )
+ ID3D10EffectVariable* GetMemberByIndex ( UINT Index )
+ ID3D10EffectVariable* GetMemberByName ( LPCSTR Name )
+ ID3D10EffectVariable* GetMemberBySemantic ( LPCSTR Semantic )
+ ID3D10EffectVariable* GetElement ( UINT Index )
+ ID3D10EffectConstantBuffer* GetParentConstantBuffer ( )
+ ID3D10EffectScalarVariable* AsScalar ( )
+ ID3D10EffectVectorVariable* AsVector ( )
+ ID3D10EffectMatrixVariable* AsMatrix ( )
+ ID3D10EffectStringVariable* AsString ( )
+ ID3D10EffectShaderResourceVariable* AsShaderResource ( )
+ ID3D10EffectRenderTargetViewVariable* AsRenderTargetView ( )
+ ID3D10EffectDepthStencilViewVariable* AsDepthStencilView ( )
+ ID3D10EffectConstantBuffer* AsConstantBuffer ( )
+ ID3D10EffectShaderVariable* AsShader ( )
+ ID3D10EffectBlendVariable* AsBlend ( )
+ ID3D10EffectDepthStencilVariable* AsDepthStencil ( )
+ ID3D10EffectRasterizerVariable* AsRasterizer ( )
+ ID3D10EffectSamplerVariable* AsSampler ( )
+ HRESULT SetRawValue ( void* pData, UINT Offset, UINT Count )
+ HRESULT GetRawValue ( void* pData, UINT Offset, UINT Count ) ;
+TYPEDEF: ID3D10EffectVariable* LPD3D10EFFECTVARIABLE
+
+COM-INTERFACE: ID3D10EffectScalarVariable ID3D10EffectVariable {00E48F7B-D2C8-49e8-A86C-022DEE53431F}
+ HRESULT SetFloat ( float Value )
+ HRESULT GetFloat ( float* pValue )
+ HRESULT SetFloatArray ( float* pData, UINT Offset, UINT Count )
+ HRESULT GetFloatArray ( float* pData, UINT Offset, UINT Count )
+ HRESULT SetInt ( int Value )
+ HRESULT GetInt ( int* pValue )
+ HRESULT SetIntArray ( int* pData, UINT Offset, UINT Count )
+ HRESULT GetIntArray ( int* pData, UINT Offset, UINT Count )
+ HRESULT SetBool ( BOOL Value )
+ HRESULT GetBool ( BOOL* pValue )
+ HRESULT SetBoolArray ( BOOL* pData, UINT Offset, UINT Count )
+ HRESULT GetBoolArray ( BOOL* pData, UINT Offset, UINT Count ) ;
+TYPEDEF: ID3D10EffectScalarVariable* LPD3D10EFFECTSCALARVARIABLE
+
+COM-INTERFACE: ID3D10EffectVectorVariable ID3D10EffectVariable {62B98C44-1F82-4c67-BCD0-72CF8F217E81}
+ HRESULT SetBoolVector ( BOOL* pData )
+ HRESULT SetIntVector ( int* pData )
+ HRESULT SetFloatVector ( float* pData )
+ HRESULT GetBoolVector ( BOOL* pData )
+ HRESULT GetIntVector ( int* pData )
+ HRESULT GetFloatVector ( float *pData )
+ HRESULT SetBoolVectorArray ( BOOL* pData, UINT Offset, UINT Count )
+ HRESULT SetIntVectorArray ( int* pData, UINT Offset, UINT Count )
+ HRESULT SetFloatVectorArray ( float* pData, UINT Offset, UINT Count )
+ HRESULT GetBoolVectorArray ( BOOL* pData, UINT Offset, UINT Count )
+ HRESULT GetIntVectorArray ( int* pData, UINT Offset, UINT Count )
+ HRESULT GetFloatVectorArray ( float* pData, UINT Offset, UINT Count ) ;
+TYPEDEF: ID3D10EffectVectorVariable* LPD3D10EFFECTVECTORVARIABLE
+
+COM-INTERFACE: ID3D10EffectMatrixVariable ID3D10EffectVariable {50666C24-B82F-4eed-A172-5B6E7E8522E0}
+ HRESULT SetMatrix ( float* pData )
+ HRESULT GetMatrix ( float* pData )
+ HRESULT SetMatrixArray ( float* pData, UINT Offset, UINT Count )
+ HRESULT GetMatrixArray ( float* pData, UINT Offset, UINT Count )
+ HRESULT SetMatrixTranspose ( float* pData )
+ HRESULT GetMatrixTranspose ( float* pData )
+ HRESULT SetMatrixTransposeArray ( float* pData, UINT Offset, UINT Count )
+ HRESULT GetMatrixTransposeArray ( float* pData, UINT Offset, UINT Count ) ;
+TYPEDEF: ID3D10EffectMatrixVariable* LPD3D10EFFECTMATRIXVARIABLE
+
+
+COM-INTERFACE: ID3D10EffectStringVariable ID3D10EffectVariable {71417501-8DF9-4e0a-A78A-255F9756BAFF}
+ HRESULT GetString ( LPCSTR* ppString )
+ HRESULT GetStringArray ( LPCSTR* ppStrings, UINT Offset, UINT Count ) ;
+TYPEDEF: ID3D10EffectStringVariable* LPD3D10EFFECTSTRINGVARIABLE
+
+COM-INTERFACE: ID3D10EffectShaderResourceVariable ID3D10EffectVariable {C0A7157B-D872-4b1d-8073-EFC2ACD4B1FC}
+ HRESULT SetResource ( ID3D10ShaderResourceView* pResource )
+ HRESULT GetResource ( ID3D10ShaderResourceView** ppResource )
+ HRESULT SetResourceArray ( ID3D10ShaderResourceView** ppResources, UINT Offset, UINT Count )
+ HRESULT GetResourceArray ( ID3D10ShaderResourceView** ppResources, UINT Offset, UINT Count ) ;
+TYPEDEF: ID3D10EffectShaderResourceVariable* LPD3D10EFFECTSHADERRESOURCEVARIABLE
+
+COM-INTERFACE: ID3D10EffectRenderTargetViewVariable ID3D10EffectVariable {28CA0CC3-C2C9-40bb-B57F-67B737122B17}
+ HRESULT SetRenderTarget ( ID3D10RenderTargetView* pResource )
+ HRESULT GetRenderTarget ( ID3D10RenderTargetView** ppResource )
+ HRESULT SetRenderTargetArray ( ID3D10RenderTargetView** ppResources, UINT Offset, UINT Count )
+ HRESULT GetRenderTargetArray ( ID3D10RenderTargetView** ppResources, UINT Offset, UINT Count ) ;
+TYPEDEF: ID3D10EffectRenderTargetViewVariable* LPD3D10EFFECTRENDERTARGETVIEWVARIABLE
+
+COM-INTERFACE: ID3D10EffectDepthStencilViewVariable ID3D10EffectVariable {3E02C918-CC79-4985-B622-2D92AD701623}
+ HRESULT SetDepthStencil ( ID3D10DepthStencilView* pResource )
+ HRESULT GetDepthStencil ( ID3D10DepthStencilView** ppResource )
+ HRESULT SetDepthStencilArray ( ID3D10DepthStencilView** ppResources, UINT Offset, UINT Count )
+ HRESULT GetDepthStencilArray ( ID3D10DepthStencilView** ppResources, UINT Offset, UINT Count ) ;
+TYPEDEF: ID3D10EffectDepthStencilViewVariable* LPD3D10EFFECTDEPTHSTENCILVIEWVARIABLE
+
+COM-INTERFACE: ID3D10EffectConstantBuffer ID3D10EffectVariable {56648F4D-CC8B-4444-A5AD-B5A3D76E91B3}
+ HRESULT SetConstantBuffer ( ID3D10Buffer* pConstantBuffer )
+ HRESULT GetConstantBuffer ( ID3D10Buffer** ppConstantBuffer )
+ HRESULT SetTextureBuffer ( ID3D10ShaderResourceView* pTextureBuffer )
+ HRESULT GetTextureBuffer ( ID3D10ShaderResourceView** ppTextureBuffer ) ;
+TYPEDEF: ID3D10EffectConstantBuffer* LPD3D10EFFECTCONSTANTBUFFER
+
+STRUCT: D3D10_EFFECT_SHADER_DESC
+ { pInputSignature BYTE* }
+ { IsInline BOOL }
+ { pBytecode BYTE* }
+ { BytecodeLength UINT }
+ { SODecl LPCSTR }
+ { NumInputSignatureEntries UINT }
+ { NumOutputSignatureEntries UINT } ;
+
+COM-INTERFACE: ID3D10EffectShaderVariable ID3D10EffectVariable {80849279-C799-4797-8C33-0407A07D9E06}
+ HRESULT GetShaderDesc ( UINT ShaderIndex, D3D10_EFFECT_SHADER_DESC* pDesc )
+ HRESULT GetVertexShader ( UINT ShaderIndex, ID3D10VertexShader** ppVS )
+ HRESULT GetGeometryShader ( UINT ShaderIndex, ID3D10GeometryShader** ppGS )
+ HRESULT GetPixelShader ( UINT ShaderIndex, ID3D10PixelShader** ppPS )
+ HRESULT GetInputSignatureElementDesc ( UINT ShaderIndex, UINT Element, D3D10_SIGNATURE_PARAMETER_DESC* pDesc )
+ HRESULT GetOutputSignatureElementDesc ( UINT ShaderIndex, UINT Element, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) ;
+TYPEDEF: ID3D10EffectShaderVariable* LPD3D10EFFECTSHADERVARIABLE
+
+COM-INTERFACE: ID3D10EffectBlendVariable ID3D10EffectVariable {1FCD2294-DF6D-4eae-86B3-0E9160CFB07B}
+ HRESULT GetBlendState ( UINT Index, ID3D10BlendState** ppBlendState )
+ HRESULT GetBackingStore ( UINT Index, D3D10_BLEND_DESC* pBlendDesc ) ;
+TYPEDEF: ID3D10EffectBlendVariable* LPD3D10EFFECTBLENDVARIABLE
+
+COM-INTERFACE: ID3D10EffectDepthStencilVariable ID3D10EffectVariable {AF482368-330A-46a5-9A5C-01C71AF24C8D}
+ HRESULT GetDepthStencilState ( UINT Index, ID3D10DepthStencilState** ppDepthStencilState )
+ HRESULT GetBackingStore ( UINT Index, D3D10_DEPTH_STENCIL_DESC* pDepthStencilDesc ) ;
+TYPEDEF: ID3D10EffectDepthStencilVariable* LPD3D10EFFECTDEPTHSTENCILVARIABLE
+
+COM-INTERFACE: ID3D10EffectRasterizerVariable ID3D10EffectVariable {21AF9F0E-4D94-4ea9-9785-2CB76B8C0B34}
+ HRESULT GetRasterizerState ( UINT Index, ID3D10RasterizerState** ppRasterizerState )
+ HRESULT GetBackingStore ( UINT Index, D3D10_RASTERIZER_DESC* pRasterizerDesc ) ;
+TYPEDEF: ID3D10EffectRasterizerVariable* LPD3D10EFFECTRASTERIZERVARIABLE
+
+COM-INTERFACE: ID3D10EffectSamplerVariable ID3D10EffectVariable {6530D5C7-07E9-4271-A418-E7CE4BD1E480}
+ HRESULT GetSampler ( UINT Index, ID3D10SamplerState** ppSampler )
+ HRESULT GetBackingStore ( UINT Index, D3D10_SAMPLER_DESC* pSamplerDesc ) ;
+TYPEDEF: ID3D10EffectSamplerVariable* LPD3D10EFFECTSAMPLERVARIABLE
+
+STRUCT: D3D10_PASS_DESC
+ { Name LPCSTR }
+ { Annotations UINT }
+ { pIAInputSignature BYTE* }
+ { IAInputSignatureSize SIZE_T }
+ { StencilRef UINT }
+ { SampleMask UINT }
+ { BlendFactor FLOAT[4] } ;
+
+STRUCT: D3D10_PASS_SHADER_DESC
+ { pShaderVariable ID3D10EffectShaderVariable* }
+ { ShaderIndex UINT } ;
+
+COM-INTERFACE: ID3D10EffectPass f {5CFBEB89-1A06-46e0-B282-E3F9BFA36A54}
+ BOOL IsValid ( )
+ HRESULT GetDesc ( D3D10_PASS_DESC* pDesc )
+ HRESULT GetVertexShaderDesc ( D3D10_PASS_SHADER_DESC* pDesc )
+ HRESULT GetGeometryShaderDesc ( D3D10_PASS_SHADER_DESC* pDesc )
+ HRESULT GetPixelShaderDesc ( D3D10_PASS_SHADER_DESC* pDesc )
+ ID3D10EffectVariable* GetAnnotationByIndex ( UINT Index )
+ ID3D10EffectVariable* GetAnnotationByName ( LPCSTR Name )
+ HRESULT Apply ( UINT Flags )
+ HRESULT ComputeStateBlockMask ( D3D10_STATE_BLOCK_MASK* pStateBlockMask ) ;
+TYPEDEF: ID3D10EffectPass* LPD3D10EFFECTPASS
+
+STRUCT: D3D10_TECHNIQUE_DESC
+ { Name LPCSTR }
+ { Passes UINT }
+ { Annotations UINT } ;
+
+COM-INTERFACE: ID3D10EffectTechnique f {DB122CE8-D1C9-4292-B237-24ED3DE8B175}
+ BOOL IsValid ( )
+ HRESULT GetDesc ( D3D10_TECHNIQUE_DESC* pDesc )
+ ID3D10EffectVariable* GetAnnotationByIndex ( UINT Index )
+ ID3D10EffectVariable* GetAnnotationByName ( LPCSTR Name )
+ ID3D10EffectPass* GetPassByIndex ( UINT Index )
+ ID3D10EffectPass* GetPassByName ( LPCSTR Name )
+ HRESULT ComputeStateBlockMask ( D3D10_STATE_BLOCK_MASK* pStateBlockMask ) ;
+TYPEDEF: ID3D10EffectTechnique* LPD3D10EFFECTTECHNIQUE
+
+STRUCT: D3D10_EFFECT_DESC
+ { IsChildEffect BOOL }
+ { ConstantBuffers UINT }
+ { SharedConstantBuffers UINT }
+ { GlobalVariables UINT }
+ { SharedGlobalVariables UINT }
+ { Techniques UINT } ;
+
+COM-INTERFACE: ID3D10Effect IUnknown {51B0CA8B-EC0B-4519-870D-8EE1CB5017C7}
+ BOOL IsValid ( )
+ BOOL IsPool ( )
+ HRESULT GetDevice ( ID3D10Device** ppDevice )
+ HRESULT GetDesc ( D3D10_EFFECT_DESC* pDesc )
+ ID3D10EffectConstantBuffer* GetConstantBufferByIndex ( UINT Index )
+ ID3D10EffectConstantBuffer* GetConstantBufferByName ( LPCSTR Name )
+ ID3D10EffectVariable* GetVariableByIndex ( UINT Index )
+ ID3D10EffectVariable* GetVariableByName ( LPCSTR Name )
+ ID3D10EffectVariable* GetVariableBySemantic ( LPCSTR Semantic )
+ ID3D10EffectTechnique* GetTechniqueByIndex ( UINT Index )
+ ID3D10EffectTechnique* GetTechniqueByName ( LPCSTR Name )
+ HRESULT Optimize ( )
+ BOOL IsOptimized ( ) ;
+TYPEDEF: ID3D10Effect* LPD3D10EFFECT
+
+COM-INTERFACE: ID3D10EffectPool IUnknown {9537AB04-3250-412e-8213-FCD2F8677933}
+ ID3D10Effect* AsEffect ( ) ;
+TYPEDEF: ID3D10EffectPool* LPD3D10EFFECTPOOL
+
+FUNCTION: HRESULT D3D10CompileEffectFromMemory ( void* pData, SIZE_T DataLength, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, UINT HLSLFlags, UINT FXFlags,
+ ID3D10Blob** ppCompiledEffect, ID3D10Blob** ppErrors ) ;
+
+FUNCTION: HRESULT D3D10CreateEffectFromMemory ( void* pData, SIZE_T DataLength, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10EffectPool* pEffectPool, ID3D10Effect** ppEffect ) ;
+
+FUNCTION: HRESULT D3D10CreateEffectPoolFromMemory ( void* pData, SIZE_T DataLength, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10EffectPool** ppEffectPool ) ;
+
+FUNCTION: HRESULT D3D10DisassembleEffect ( ID3D10Effect* pEffect, BOOL EnableColorCode, ID3D10Blob** ppDisassembly ) ;
--- /dev/null
+Direct3D 10 bindings. Corresponds to d3d10effect.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax windows.com windows.com.syntax
+windows.directx.dxgi windows.types alien.libraries ;
+IN: windows.directx.d3d10misc
+
+LIBRARY: d3d10
+
+C-TYPE: ID3D10Blob
+TYPEDEF: ID3D10Blob* LPD3D10BLOB
+
+COM-INTERFACE: ID3D10Blob IUnknown {8BA5FB08-5195-40e2-AC58-0D989C3A0102}
+ LPVOID GetBufferPointer ( )
+ SIZE_T GetBufferSize ( ) ;
+
+CONSTANT: D3D10_DRIVER_TYPE_HARDWARE 0
+CONSTANT: D3D10_DRIVER_TYPE_REFERENCE 1
+CONSTANT: D3D10_DRIVER_TYPE_NULL 2
+CONSTANT: D3D10_DRIVER_TYPE_SOFTWARE 3
+CONSTANT: D3D10_DRIVER_TYPE_WARP 5
+TYPEDEF: int D3D10_DRIVER_TYPE
+
+FUNCTION: HRESULT D3D10CreateDevice (
+ IDXGIAdapter* pAdapter,
+ D3D10_DRIVER_TYPE DriverType,
+ HMODULE Software,
+ UINT Flags,
+ UINT SDKVersion,
+ ID3D10Device** ppDevice ) ;
+
+FUNCTION: HRESULT D3D10CreateDeviceAndSwapChain (
+ IDXGIAdapter* pAdapter,
+ D3D10_DRIVER_TYPE DriverType,
+ HMODULE Software,
+ UINT Flags,
+ UINT SDKVersion,
+ DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,
+ IDXGISwapChain** ppSwapChain,
+ ID3D10Device** ppDevice ) ;
+
+FUNCTION: HRESULT D3D10CreateBlob ( SIZE_T NumBytes, LPD3D10BLOB* ppBuffer ) ;
--- /dev/null
+Direct3D 10 bindings. Corresponds to d3d10misc.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax alien.c-types classes.struct windows.types windows.com
+windows.com.syntax windows.directx.d3d10 ;
+IN: windows.directx.d3d10shader
+
+LIBRARY: d3d10
+
+CONSTANT: D3D10_SHADER_DEBUG 1
+CONSTANT: D3D10_SHADER_SKIP_VALIDATION 2
+CONSTANT: D3D10_SHADER_SKIP_OPTIMIZATION 4
+CONSTANT: D3D10_SHADER_PACK_MATRIX_ROW_MAJOR 8
+CONSTANT: D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR 16
+CONSTANT: D3D10_SHADER_PARTIAL_PRECISION 32
+CONSTANT: D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT 64
+CONSTANT: D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT 128
+CONSTANT: D3D10_SHADER_NO_PRESHADER 256
+CONSTANT: D3D10_SHADER_AVOID_FLOW_CONTROL 512
+CONSTANT: D3D10_SHADER_PREFER_FLOW_CONTROL 1024
+CONSTANT: D3D10_SHADER_ENABLE_STRICTNESS 2048
+CONSTANT: D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 4096
+CONSTANT: D3D10_SHADER_IEEE_STRICTNESS 8192
+CONSTANT: D3D10_SHADER_WARNINGS_ARE_ERRORS 262144
+
+CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL0 16384
+CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL1 0
+CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL2 49152
+CONSTANT: D3D10_SHADER_OPTIMIZATION_LEVEL3 32768
+
+STRUCT: D3D10_SHADER_MACRO
+ { Name LPCSTR }
+ { Definition LPCSTR } ;
+TYPEDEF: D3D10_SHADER_MACRO* LPD3D10_SHADER_MACRO
+
+CONSTANT: D3D10_SVC_SCALAR 0
+CONSTANT: D3D10_SVC_VECTOR 1
+CONSTANT: D3D10_SVC_MATRIX_ROWS 2
+CONSTANT: D3D10_SVC_MATRIX_COLUMNS 3
+CONSTANT: D3D10_SVC_OBJECT 4
+CONSTANT: D3D10_SVC_STRUCT 5
+CONSTANT: D3D11_SVC_INTERFACE_CLASS 6
+CONSTANT: D3D11_SVC_INTERFACE_POINTER 7
+CONSTANT: D3D10_SVC_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3D10_SHADER_VARIABLE_CLASS
+TYPEDEF: D3D10_SHADER_VARIABLE_CLASS* LPD3D10_SHADER_VARIABLE_CLASS
+
+CONSTANT: D3D10_SVF_USERPACKED 1
+CONSTANT: D3D10_SVF_USED 2
+CONSTANT: D3D11_SVF_INTERFACE_POINTER 4
+CONSTANT: D3D10_SVF_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3D10_SHADER_VARIABLE_FLAGS
+TYPEDEF: D3D10_SHADER_VARIABLE_FLAGS* LPD3D10_SHADER_VARIABLE_FLAGS
+
+CONSTANT: D3D10_SVT_VOID 0
+CONSTANT: D3D10_SVT_BOOL 1
+CONSTANT: D3D10_SVT_INT 2
+CONSTANT: D3D10_SVT_FLOAT 3
+CONSTANT: D3D10_SVT_STRING 4
+CONSTANT: D3D10_SVT_TEXTURE 5
+CONSTANT: D3D10_SVT_TEXTURE1D 6
+CONSTANT: D3D10_SVT_TEXTURE2D 7
+CONSTANT: D3D10_SVT_TEXTURE3D 8
+CONSTANT: D3D10_SVT_TEXTURECUBE 9
+CONSTANT: D3D10_SVT_SAMPLER 10
+CONSTANT: D3D10_SVT_PIXELSHADER 15
+CONSTANT: D3D10_SVT_VERTEXSHADER 16
+CONSTANT: D3D10_SVT_UINT 19
+CONSTANT: D3D10_SVT_UINT8 20
+CONSTANT: D3D10_SVT_GEOMETRYSHADER 21
+CONSTANT: D3D10_SVT_RASTERIZER 22
+CONSTANT: D3D10_SVT_DEPTHSTENCIL 23
+CONSTANT: D3D10_SVT_BLEND 24
+CONSTANT: D3D10_SVT_BUFFER 25
+CONSTANT: D3D10_SVT_CBUFFER 26
+CONSTANT: D3D10_SVT_TBUFFER 27
+CONSTANT: D3D10_SVT_TEXTURE1DARRAY 28
+CONSTANT: D3D10_SVT_TEXTURE2DARRAY 29
+CONSTANT: D3D10_SVT_RENDERTARGETVIEW 30
+CONSTANT: D3D10_SVT_DEPTHSTENCILVIEW 31
+CONSTANT: D3D10_SVT_TEXTURE2DMS 32
+CONSTANT: D3D10_SVT_TEXTURE2DMSARRAY 33
+CONSTANT: D3D10_SVT_TEXTURECUBEARRAY 34
+CONSTANT: D3D11_SVT_HULLSHADER 35
+CONSTANT: D3D11_SVT_DOMAINSHADER 36
+CONSTANT: D3D11_SVT_INTERFACE_POINTER 37
+CONSTANT: D3D11_SVT_COMPUTESHADER 38
+CONSTANT: D3D11_SVT_DOUBLE 39
+CONSTANT: D3D10_SVT_FORCE_DWORD HEX: 7ffffff
+TYPEDEF: int D3D10_SHADER_VARIABLE_TYPE
+TYPEDEF: D3D10_SHADER_VARIABLE_TYPE* LPD3D10_SHADER_VARIABLE_TYPE
+
+CONSTANT: D3D10_SIF_USERPACKED 1
+CONSTANT: D3D10_SIF_COMPARISON_SAMPLER 2
+CONSTANT: D3D10_SIF_TEXTURE_COMPONENT_0 4
+CONSTANT: D3D10_SIF_TEXTURE_COMPONENT_1 8
+CONSTANT: D3D10_SIF_TEXTURE_COMPONENTS 12
+CONSTANT: D3D10_SIF_FORCE_DWORD HEX: 7ffffff
+TYPEDEF: int D3D10_SHADER_INPUT_FLAGS
+TYPEDEF: D3D10_SHADER_INPUT_FLAGS* LPD3D10_SHADER_INPUT_FLAGS
+
+CONSTANT: D3D10_SIT_CBUFFER 0
+CONSTANT: D3D10_SIT_TBUFFER 1
+CONSTANT: D3D10_SIT_TEXTURE 2
+CONSTANT: D3D10_SIT_SAMPLER 3
+CONSTANT: D3D11_SIT_UAV_RWTYPED 4
+CONSTANT: D3D11_SIT_STRUCTURED 5
+CONSTANT: D3D11_SIT_UAV_RWSTRUCTURED 6
+CONSTANT: D3D11_SIT_BYTEADDRESS 7
+CONSTANT: D3D11_SIT_UAV_RWBYTEADDRESS 8
+CONSTANT: D3D11_SIT_UAV_APPEND_STRUCTURED 9
+CONSTANT: D3D11_SIT_UAV_CONSUME_STRUCTURED 10
+CONSTANT: D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER 11
+TYPEDEF: int D3D10_SHADER_INPUT_TYPE
+TYPEDEF: D3D10_SHADER_INPUT_TYPE* LPD3D10_SHADER_INPUT_TYPE
+
+CONSTANT: D3D10_CBF_USERPACKED 1
+CONSTANT: D3D10_CBF_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3D10_SHADER_CBUFFER_FLAGS
+TYPEDEF: D3D10_SHADER_CBUFFER_FLAGS* LPD3D10_SHADER_CBUFFER_FLAGS
+
+CONSTANT: D3D10_CT_CBUFFER 0
+CONSTANT: D3D10_CT_TBUFFER 1
+TYPEDEF: int D3D10_CBUFFER_TYPE
+TYPEDEF: D3D10_CBUFFER_TYPE* LPD3D10_CBUFFER_TYPE
+
+CONSTANT: D3D10_NAME_UNDEFINED 0
+CONSTANT: D3D10_NAME_POSITION 1
+CONSTANT: D3D10_NAME_CLIP_DISTANCE 2
+CONSTANT: D3D10_NAME_CULL_DISTANCE 3
+CONSTANT: D3D10_NAME_RENDER_TARGET_ARRAY_INDEX 4
+CONSTANT: D3D10_NAME_VIEWPORT_ARRAY_INDEX 5
+CONSTANT: D3D10_NAME_VERTEX_ID 6
+CONSTANT: D3D10_NAME_PRIMITIVE_ID 7
+CONSTANT: D3D10_NAME_INSTANCE_ID 8
+CONSTANT: D3D10_NAME_IS_FRONT_FACE 9
+CONSTANT: D3D10_NAME_SAMPLE_INDEX 10
+CONSTANT: D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR 11
+CONSTANT: D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR 12
+CONSTANT: D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR 13
+CONSTANT: D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR 14
+CONSTANT: D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR 15
+CONSTANT: D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR 16
+CONSTANT: D3D10_NAME_TARGET 64
+CONSTANT: D3D10_NAME_DEPTH 65
+CONSTANT: D3D10_NAME_COVERAGE 66
+CONSTANT: D3D11_NAME_DEPTH_GREATER_EQUAL 67
+CONSTANT: D3D11_NAME_DEPTH_LESS_EQUAL 68
+TYPEDEF: int D3D10_NAME
+
+CONSTANT: D3D10_RETURN_TYPE_UNORM 1
+CONSTANT: D3D10_RETURN_TYPE_SNORM 2
+CONSTANT: D3D10_RETURN_TYPE_SINT 3
+CONSTANT: D3D10_RETURN_TYPE_UINT 4
+CONSTANT: D3D10_RETURN_TYPE_FLOAT 5
+CONSTANT: D3D10_RETURN_TYPE_MIXED 6
+TYPEDEF: int D3D10_RESOURCE_RETURN_TYPE
+
+CONSTANT: D3D10_REGISTER_COMPONENT_UNKNOWN 0
+CONSTANT: D3D10_REGISTER_COMPONENT_UINT32 1
+CONSTANT: D3D10_REGISTER_COMPONENT_SINT32 2
+CONSTANT: D3D10_REGISTER_COMPONENT_FLOAT32 3
+TYPEDEF: int D3D10_REGISTER_COMPONENT_TYPE
+
+CONSTANT: D3D10_INCLUDE_LOCAL 0
+CONSTANT: D3D10_INCLUDE_SYSTEM 1
+CONSTANT: D3D10_INCLUDE_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3D10_INCLUDE_TYPE
+TYPEDEF: D3D10_INCLUDE_TYPE* LPD3D10_INCLUDE_TYPE
+
+COM-INTERFACE: ID3D10Include f {C530AD7D-9B16-4395-A979-BA2ECFF83ADD}
+ HRESULT Open ( D3D10_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes )
+ HRESULT Close ( LPCVOID pData ) ;
+TYPEDEF: ID3D10Include* LPD3D10INCLUDE
+
+STRUCT: D3D10_SHADER_DESC
+ { Version UINT }
+ { Creator LPCSTR }
+ { Flags UINT }
+ { ConstantBuffers UINT }
+ { BoundResources UINT }
+ { InputParameters UINT }
+ { OutputParameters UINT }
+ { InstructionCount UINT }
+ { TempRegisterCount UINT }
+ { TempArrayCount UINT }
+ { DefCount UINT }
+ { DclCount UINT }
+ { TextureNormalInstructions UINT }
+ { TextureLoadInstructions UINT }
+ { TextureCompInstructions UINT }
+ { TextureBiasInstructions UINT }
+ { TextureGradientInstructions UINT }
+ { FloatInstructionCount UINT }
+ { IntInstructionCount UINT }
+ { UintInstructionCount UINT }
+ { StaticFlowControlCount UINT }
+ { DynamicFlowControlCount UINT }
+ { MacroInstructionCount UINT }
+ { ArrayInstructionCount UINT }
+ { CutInstructionCount UINT }
+ { EmitInstructionCount UINT }
+ { GSOutputTopology D3D10_PRIMITIVE_TOPOLOGY }
+ { GSMaxOutputVertexCount UINT } ;
+
+STRUCT: D3D10_SHADER_BUFFER_DESC
+ { Name LPCSTR }
+ { Type D3D10_CBUFFER_TYPE }
+ { Variables UINT }
+ { Size UINT }
+ { uFlags UINT } ;
+
+STRUCT: D3D10_SHADER_VARIABLE_DESC
+ { Name LPCSTR }
+ { StartOffset UINT }
+ { Size UINT }
+ { uFlags UINT }
+ { DefaultValue LPVOID } ;
+
+STRUCT: D3D10_SHADER_TYPE_DESC
+ { Class D3D10_SHADER_VARIABLE_CLASS }
+ { Type D3D10_SHADER_VARIABLE_TYPE }
+ { Rows UINT }
+ { Columns UINT }
+ { Elements UINT }
+ { Members UINT }
+ { Offset UINT } ;
+
+STRUCT: D3D10_SHADER_INPUT_BIND_DESC
+ { Name LPCSTR }
+ { Type D3D10_SHADER_INPUT_TYPE }
+ { BindPoint UINT }
+ { BindCount UINT }
+ { uFlags UINT }
+ { ReturnType D3D10_RESOURCE_RETURN_TYPE }
+ { Dimension D3D10_SRV_DIMENSION }
+ { NumSamples UINT } ;
+
+STRUCT: D3D10_SIGNATURE_PARAMETER_DESC
+ { SemanticName LPCSTR }
+ { SemanticIndex UINT }
+ { Register UINT }
+ { SystemValueType D3D10_NAME }
+ { ComponentType D3D10_REGISTER_COMPONENT_TYPE }
+ { Mask BYTE }
+ { ReadWriteMask BYTE } ;
+
+COM-INTERFACE: ID3D10ShaderReflectionType f {C530AD7D-9B16-4395-A979-BA2ECFF83ADD}
+ HRESULT GetDesc ( D3D10_SHADER_TYPE_DESC* pDesc )
+ ID3D10ShaderReflectionType* GetMemberTypeByIndex ( UINT Index )
+ ID3D10ShaderReflectionType* GetMemberTypeByName ( LPCSTR Name )
+ LPCSTR GetMemberTypeName ( UINT Index ) ;
+
+COM-INTERFACE: ID3D10ShaderReflectionVariable f {1BF63C95-2650-405d-99C1-3636BD1DA0A1}
+ HRESULT GetDesc ( D3D10_SHADER_VARIABLE_DESC* pDesc )
+ ID3D10ShaderReflectionType* GetType ( ) ;
+
+COM-INTERFACE: ID3D10ShaderReflectionConstantBuffer f {66C66A94-DDDD-4b62-A66A-F0DA33C2B4D0}
+ HRESULT GetDesc ( D3D10_SHADER_BUFFER_DESC* pDesc )
+ ID3D10ShaderReflectionVariable* GetVariableByIndex ( UINT Index )
+ ID3D10ShaderReflectionVariable* GetVariableByName ( LPCSTR Name ) ;
+
+COM-INTERFACE: ID3D10ShaderReflection IUnknown {D40E20B6-F8F7-42ad-AB20-4BAF8F15DFAA}
+ HRESULT GetDesc ( D3D10_SHADER_DESC* pDesc )
+ ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex ( UINT Index )
+ ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName ( LPCSTR Name )
+ HRESULT GetResourceBindingDesc ( UINT ResourceIndex, D3D10_SHADER_INPUT_BIND_DESC* pDesc )
+ HRESULT GetInputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc )
+ HRESULT GetOutputParameterDesc ( UINT ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc ) ;
+
+FUNCTION: HRESULT D3D10CompileShader ( LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include* pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs ) ;
+FUNCTION: HRESULT D3D10DisassembleShader ( void* pShader, SIZE_T BytecodeLength, BOOL EnableColorCode, LPCSTR pComments, ID3D10Blob** ppDisassembly ) ;
+FUNCTION: LPCSTR D3D10GetPixelShaderProfile ( ID3D10Device* pDevice ) ;
+FUNCTION: LPCSTR D3D10GetVertexShaderProfile ( ID3D10Device* pDevice ) ;
+FUNCTION: LPCSTR D3D10GetGeometryShaderProfile ( ID3D10Device* pDevice ) ;
+FUNCTION: HRESULT D3D10ReflectShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10ShaderReflection** ppReflector ) ;
+FUNCTION: HRESULT D3D10PreprocessShader ( LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, ID3D10Include* pInclude, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs ) ;
+FUNCTION: HRESULT D3D10GetInputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ;
+FUNCTION: HRESULT D3D10GetOutputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ;
+FUNCTION: HRESULT D3D10GetInputAndOutputSignatureBlob ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppSignatureBlob ) ;
+FUNCTION: HRESULT D3D10GetShaderDebugInfo ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D10Blob** ppDebugInfo ) ;
--- /dev/null
+Direct3D 10 bindings. Corresponds to D3D10shader.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax alien.c-types classes.struct windows.types
+windows.directx.dxgiformat windows.com.syntax windows.com windows.ole32
+windows.directx.dxgitype windows.directx.dxgi windows.directx.d3dcommon ;
+IN: windows.directx.d3d11
+
+LIBRARY: d3d11
+
+CONSTANT: D3D11_16BIT_INDEX_STRIP_CUT_VALUE HEX: ffff
+CONSTANT: D3D11_32BIT_INDEX_STRIP_CUT_VALUE HEX: ffffffff
+CONSTANT: D3D11_8BIT_INDEX_STRIP_CUT_VALUE HEX: ff
+
+CONSTANT: D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT 9
+
+CONSTANT: D3D11_CLIP_OR_CULL_DISTANCE_COUNT 8
+CONSTANT: D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT 2
+
+CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT 14
+CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS 4
+CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT 15
+CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT 15
+CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST 1
+CONSTANT: D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT 64
+CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT 1
+CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST 1
+CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT 128
+CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST 1
+CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT 128
+CONSTANT: D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT 16
+CONSTANT: D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST 1
+CONSTANT: D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT 16
+CONSTANT: D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT 32
+CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_COUNT 4096
+CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST 3
+CONSTANT: D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS 3
+CONSTANT: D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX 10
+CONSTANT: D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN -10
+CONSTANT: D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE -8
+CONSTANT: D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE 7
+
+CONSTANT: D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 256
+CONSTANT: D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP 64
+CONSTANT: D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 240
+CONSTANT: D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP 68
+CONSTANT: D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 224
+CONSTANT: D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP 72
+CONSTANT: D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 208
+CONSTANT: D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP 76
+CONSTANT: D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 192
+CONSTANT: D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP 84
+CONSTANT: D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 176
+CONSTANT: D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP 92
+CONSTANT: D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 160
+CONSTANT: D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP 100
+CONSTANT: D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 144
+CONSTANT: D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP 112
+CONSTANT: D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 128
+CONSTANT: D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP 128
+CONSTANT: D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 112
+CONSTANT: D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP 144
+CONSTANT: D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 96
+CONSTANT: D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP 168
+CONSTANT: D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 80
+CONSTANT: D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP 204
+CONSTANT: D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 64
+CONSTANT: D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP 256
+CONSTANT: D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 48
+CONSTANT: D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP 340
+CONSTANT: D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 32
+CONSTANT: D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP 512
+CONSTANT: D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD 16
+CONSTANT: D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP 768
+CONSTANT: D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION 1
+CONSTANT: D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT 256
+CONSTANT: D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP 768
+CONSTANT: D3D11_CS_4_X_THREAD_GROUP_MAX_X 768
+CONSTANT: D3D11_CS_4_X_THREAD_GROUP_MAX_Y 768
+CONSTANT: D3D11_CS_4_X_UAV_REGISTER_COUNT 1
+CONSTANT: D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION 65535
+CONSTANT: D3D11_CS_TGSM_REGISTER_COUNT 8192
+CONSTANT: D3D11_CS_TGSM_REGISTER_READS_PER_INST 1
+CONSTANT: D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP 1024
+CONSTANT: D3D11_CS_THREAD_GROUP_MAX_X 1024
+CONSTANT: D3D11_CS_THREAD_GROUP_MAX_Y 1024
+CONSTANT: D3D11_CS_THREAD_GROUP_MAX_Z 64
+CONSTANT: D3D11_CS_THREAD_GROUP_MIN_X 1
+CONSTANT: D3D11_CS_THREAD_GROUP_MIN_Y 1
+CONSTANT: D3D11_CS_THREAD_GROUP_MIN_Z 1
+CONSTANT: D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL 16384
+
+CONSTANT: D3D11_DEFAULT_BLEND_FACTOR_ALPHA 1.0
+CONSTANT: D3D11_DEFAULT_BLEND_FACTOR_GREEN 1.0
+CONSTANT: D3D11_DEFAULT_BORDER_COLOR_COMPONENT 0.0
+CONSTANT: D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0
+CONSTANT: D3D11_DEFAULT_MAX_ANISOTROPY 16
+CONSTANT: D3D11_DEFAULT_MIP_LOD_BIAS 0.0
+CONSTANT: D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX 0
+CONSTANT: D3D11_DEFAULT_SAMPLE_MASK HEX: ffffffff
+CONSTANT: D3D11_DEFAULT_SCISSOR_ENDX 0
+CONSTANT: D3D11_DEFAULT_SCISSOR_ENDY 0
+CONSTANT: D3D11_DEFAULT_SCISSOR_STARTX 0
+CONSTANT: D3D11_DEFAULT_SCISSOR_STARTY 0
+CONSTANT: D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0
+CONSTANT: D3D11_DEFAULT_STENCIL_READ_MASK HEX: ff
+CONSTANT: D3D11_DEFAULT_STENCIL_REFERENCE 0
+CONSTANT: D3D11_DEFAULT_STENCIL_WRITE_MASK HEX: ff
+CONSTANT: D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX 0
+CONSTANT: D3D11_DEFAULT_VIEWPORT_HEIGHT 0
+CONSTANT: D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0
+CONSTANT: D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0
+CONSTANT: D3D11_DEFAULT_VIEWPORT_TOPLEFTX 0
+CONSTANT: D3D11_DEFAULT_VIEWPORT_TOPLEFTY 0
+CONSTANT: D3D11_DEFAULT_VIEWPORT_WIDTH 0
+
+CONSTANT: D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS 3968
+CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT 32
+CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS 3
+CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT 1
+CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT 32
+CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_DS_OUTPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_DS_OUTPUT_REGISTER_COUNT 32
+
+CONSTANT: D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP 0.6
+CONSTANT: D3D11_FLOAT32_MAX 3.402823466e+38
+CONSTANT: D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP 0.6
+CONSTANT: D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR 2.4
+CONSTANT: D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR 1.0
+CONSTANT: D3D11_FLOAT_TO_SRGB_OFFSET 0.055
+CONSTANT: D3D11_FLOAT_TO_SRGB_SCALE_1 12.92
+CONSTANT: D3D11_FLOAT_TO_SRGB_SCALE_2 1.055
+CONSTANT: D3D11_FLOAT_TO_SRGB_THRESHOLD 0.0031308
+
+CONSTANT: D3D11_FTOI_INSTRUCTION_MAX_INPUT 2147483647.999
+CONSTANT: D3D11_FTOI_INSTRUCTION_MIN_INPUT -2147483648.999
+CONSTANT: D3D11_FTOU_INSTRUCTION_MAX_INPUT 4294967295.999
+CONSTANT: D3D11_FTOU_INSTRUCTION_MIN_INPUT 0.0
+
+CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST 2
+CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS 1
+CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT 1
+CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT 1
+CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_GS_INPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_GS_INPUT_REGISTER_COUNT 32
+CONSTANT: D3D11_GS_INPUT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_GS_INPUT_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_GS_INPUT_REGISTER_VERTICES 32
+CONSTANT: D3D11_GS_MAX_INSTANCE_COUNT 32
+CONSTANT: D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES 1024
+CONSTANT: D3D11_GS_OUTPUT_ELEMENTS 32
+CONSTANT: D3D11_GS_OUTPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_GS_OUTPUT_REGISTER_COUNT 32
+
+CONSTANT: D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT 32
+CONSTANT: D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT 32
+CONSTANT: D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND HEX: ffffffff
+CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT 1
+CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT 1
+CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT 1
+CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND HEX: ffffffff
+CONSTANT: D3D11_HS_MAXTESSFACTOR_LOWER_BOUND 1.0
+CONSTANT: D3D11_HS_MAXTESSFACTOR_UPPER_BOUND 64.0
+CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS 3968
+CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT 1
+CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT 32
+CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS 1
+
+CONSTANT: D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES 0
+CONSTANT: D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY 0
+CONSTANT: D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES 0
+CONSTANT: D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT 1
+CONSTANT: D3D11_IA_INSTANCE_ID_BIT_COUNT 32
+CONSTANT: D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT 32
+CONSTANT: D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT 32
+CONSTANT: D3D11_IA_PRIMITIVE_ID_BIT_COUNT 32
+CONSTANT: D3D11_IA_VERTEX_ID_BIT_COUNT 32
+CONSTANT: D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT 32
+CONSTANT: D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS 128
+CONSTANT: D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT 32
+
+CONSTANT: D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT HEX: ffffffff
+CONSTANT: D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER HEX: ffffffff
+
+CONSTANT: D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL HEX: ffffffff
+CONSTANT: D3D11_KEEP_UNORDERED_ACCESS_VIEWS HEX: ffffffff
+
+CONSTANT: D3D11_LINEAR_GAMMA 1.0
+
+CONSTANT: D3D11_MAX_BORDER_COLOR_COMPONENT 1.0
+CONSTANT: D3D11_MAX_DEPTH 1.0
+CONSTANT: D3D11_MAX_MAXANISOTROPY 16
+CONSTANT: D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT 32
+CONSTANT: D3D11_MAX_POSITION_VALUE 3.402823466e+34
+CONSTANT: D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP 17
+
+CONSTANT: D3D11_MAJOR_VERSION 11
+CONSTANT: D3D11_MINOR_VERSION 0
+
+CONSTANT: D3D11_MIN_BORDER_COLOR_COMPONENT 0.0
+CONSTANT: D3D11_MIN_DEPTH 0.0
+CONSTANT: D3D11_MIN_MAXANISOTROPY 0
+
+CONSTANT: D3D11_MIP_LOD_BIAS_MAX 15.99
+CONSTANT: D3D11_MIP_LOD_BIAS_MIN -16.0
+CONSTANT: D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT 8
+CONSTANT: D3D11_MIP_LOD_RANGE_BIT_COUNT 8
+
+CONSTANT: D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH 1.4
+
+CONSTANT: D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT 0
+
+CONSTANT: D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT 15
+
+CONSTANT: D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT 16
+
+CONSTANT: D3D11_PS_CS_UAV_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_PS_CS_UAV_REGISTER_COUNT 8
+CONSTANT: D3D11_PS_CS_UAV_REGISTER_READS_PER_INST 1
+CONSTANT: D3D11_PS_CS_UAV_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_PS_FRONTFACING_DEFAULT_VALUE HEX: ffffffff
+CONSTANT: D3D11_PS_FRONTFACING_FALSE_VALUE 0
+CONSTANT: D3D11_PS_FRONTFACING_TRUE_VALUE HEX: ffffffff
+CONSTANT: D3D11_PS_INPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_PS_INPUT_REGISTER_COUNT 32
+CONSTANT: D3D11_PS_INPUT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_PS_INPUT_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT 0.0
+CONSTANT: D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT 1
+CONSTANT: D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS 1
+CONSTANT: D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_PS_OUTPUT_MASK_REGISTER_COUNT 1
+CONSTANT: D3D11_PS_OUTPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_PS_OUTPUT_REGISTER_COUNT 8
+CONSTANT: D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT 0.5
+
+CONSTANT: D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT 16
+
+CONSTANT: D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE 4096
+CONSTANT: D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP 27
+CONSTANT: D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT 4096
+CONSTANT: D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE 4096
+CONSTANT: D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 32
+CONSTANT: D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP 32
+CONSTANT: D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION 16384
+CONSTANT: D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT 1024
+CONSTANT: D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT 4096
+CONSTANT: D3D11_REQ_MAXANISOTROPY 16
+CONSTANT: D3D11_REQ_MIP_LEVELS 15
+CONSTANT: D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES 2048
+CONSTANT: D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE 4096
+CONSTANT: D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH 16384
+CONSTANT: D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM 128
+CONSTANT: D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM 0.25
+CONSTANT: D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP 20
+CONSTANT: D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE 4096
+CONSTANT: D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION 2048
+CONSTANT: D3D11_REQ_TEXTURE1D_U_DIMENSION 16384
+CONSTANT: D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION 2048
+CONSTANT: D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION 16384
+CONSTANT: D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 2048
+CONSTANT: D3D11_REQ_TEXTURECUBE_DIMENSION 16384
+
+CONSTANT: D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL 0
+
+CONSTANT: D3D11_SHADER_MAJOR_VERSION 5
+CONSTANT: D3D11_SHADER_MAX_INSTANCES 65535
+CONSTANT: D3D11_SHADER_MAX_INTERFACES 253
+CONSTANT: D3D11_SHADER_MAX_INTERFACE_CALL_SITES 4096
+CONSTANT: D3D11_SHADER_MAX_TYPES 65535
+CONSTANT: D3D11_SHADER_MINOR_VERSION 0
+
+CONSTANT: D3D11_SHIFT_INSTRUCTION_PAD_VALUE 0
+CONSTANT: D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT 5
+
+CONSTANT: D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT 8
+
+CONSTANT: D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES 2048
+CONSTANT: D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES 512
+CONSTANT: D3D11_SO_BUFFER_SLOT_COUNT 4
+CONSTANT: D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP HEX: ffffffff
+CONSTANT: D3D11_SO_NO_RASTERIZED_STREAM HEX: ffffffff
+CONSTANT: D3D11_SO_OUTPUT_COMPONENT_COUNT 128
+CONSTANT: D3D11_SO_STREAM_COUNT 4
+
+CONSTANT: D3D11_SPEC_DATE_DAY 04
+CONSTANT: D3D11_SPEC_DATE_MONTH 06
+CONSTANT: D3D11_SPEC_DATE_YEAR 2009
+CONSTANT: D3D11_SPEC_VERSION 1.0
+
+CONSTANT: D3D11_SRGB_GAMMA 2.2
+CONSTANT: D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 12.92
+CONSTANT: D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 1.055
+CONSTANT: D3D11_SRGB_TO_FLOAT_EXPONENT 2.4
+CONSTANT: D3D11_SRGB_TO_FLOAT_OFFSET 0.055
+CONSTANT: D3D11_SRGB_TO_FLOAT_THRESHOLD 0.04045
+CONSTANT: D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP 0.5
+
+CONSTANT: D3D11_STANDARD_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED 64
+CONSTANT: D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE 4
+CONSTANT: D3D11_STANDARD_PIXEL_COMPONENT_COUNT 128
+CONSTANT: D3D11_STANDARD_PIXEL_ELEMENT_COUNT 32
+CONSTANT: D3D11_STANDARD_VECTOR_SIZE 4
+CONSTANT: D3D11_STANDARD_VERTEX_ELEMENT_COUNT 32
+CONSTANT: D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT 64
+
+CONSTANT: D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT 8
+CONSTANT: D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT 8
+
+CONSTANT: D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR 64
+CONSTANT: D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR 64
+CONSTANT: D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR 63
+CONSTANT: D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR 64
+CONSTANT: D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR 2
+CONSTANT: D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR 1
+CONSTANT: D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR 1
+
+CONSTANT: D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT 16
+
+CONSTANT: D3D11_UNBOUND_MEMORY_ACCESS_RESULT 0
+
+CONSTANT: D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX 15
+CONSTANT: D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE 16
+
+CONSTANT: D3D11_VIEWPORT_BOUNDS_MAX 32767
+CONSTANT: D3D11_VIEWPORT_BOUNDS_MIN -32768
+
+CONSTANT: D3D11_VS_INPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_VS_INPUT_REGISTER_COUNT 32
+CONSTANT: D3D11_VS_INPUT_REGISTER_READS_PER_INST 2
+CONSTANT: D3D11_VS_INPUT_REGISTER_READ_PORTS 1
+CONSTANT: D3D11_VS_OUTPUT_REGISTER_COMPONENTS 4
+CONSTANT: D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT 32
+CONSTANT: D3D11_VS_OUTPUT_REGISTER_COUNT 32
+
+CONSTANT: D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT 10
+CONSTANT: D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 25
+CONSTANT: D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP 25
+
+CONSTANT: D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS HEX: 887c0001
+CONSTANT: D3D11_ERROR_FILE_NOT_FOUND HEX: 887c0002
+CONSTANT: D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS HEX: 887c003
+CONSTANT: D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD HEX: 887c004
+
+CONSTANT: D3D11_INPUT_PER_VERTEX_DATA 0
+CONSTANT: D3D11_INPUT_PER_INSTANCE_DATA 1
+TYPEDEF: int D3D11_INPUT_CLASSIFICATION
+
+CONSTANT: D3D11_APPEND_ALIGNED_ELEMENT HEX: ffffffff
+
+STRUCT: D3D11_INPUT_ELEMENT_DESC
+ { SemanticName LPCSTR }
+ { SemanticIndex UINT }
+ { Format DXGI_FORMAT }
+ { InputSlot UINT }
+ { AlignedByteOffset UINT }
+ { InputSlotClass D3D11_INPUT_CLASSIFICATION }
+ { InstanceDataStepRate UINT } ;
+
+CONSTANT: D3D11_FILL_WIREFRAME 2
+CONSTANT: D3D11_FILL_SOLID 3
+TYPEDEF: int D3D11_FILL_MODE
+
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED 0
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_POINTLIST 1
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_LINELIST 2
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP 3
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST 4
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP 5
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 10
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ 11
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ 12
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ 13
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST 33
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST 34
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST 35
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST 36
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST 37
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST 38
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST 39
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST 40
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST 41
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST 42
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST 43
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST 44
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST 45
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST 46
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST 47
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST 48
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST 49
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST 50
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST 51
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST 52
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST 53
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST 54
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST 55
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST 56
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST 57
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST 58
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST 59
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST 60
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST 61
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST 62
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST 63
+CONSTANT: D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST 64
+TYPEDEF: int D3D11_PRIMITIVE_TOPOLOGY
+
+CONSTANT: D3D11_PRIMITIVE_UNDEFINED 0
+CONSTANT: D3D11_PRIMITIVE_POINT 1
+CONSTANT: D3D11_PRIMITIVE_LINE 2
+CONSTANT: D3D11_PRIMITIVE_TRIANGLE 3
+CONSTANT: D3D11_PRIMITIVE_LINE_ADJ 6
+CONSTANT: D3D11_PRIMITIVE_TRIANGLE_ADJ 7
+CONSTANT: D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH 8
+CONSTANT: D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH 9
+CONSTANT: D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH 10
+CONSTANT: D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH 11
+CONSTANT: D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH 12
+CONSTANT: D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH 13
+CONSTANT: D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH 14
+CONSTANT: D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH 15
+CONSTANT: D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH 16
+CONSTANT: D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH 17
+CONSTANT: D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH 18
+CONSTANT: D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH 19
+CONSTANT: D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH 20
+CONSTANT: D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH 21
+CONSTANT: D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH 22
+CONSTANT: D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH 23
+CONSTANT: D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH 24
+CONSTANT: D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH 25
+CONSTANT: D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH 26
+CONSTANT: D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH 27
+CONSTANT: D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH 28
+CONSTANT: D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH 29
+CONSTANT: D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH 30
+CONSTANT: D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH 31
+CONSTANT: D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH 32
+CONSTANT: D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH 33
+CONSTANT: D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH 34
+CONSTANT: D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH 35
+CONSTANT: D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH 36
+CONSTANT: D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH 37
+CONSTANT: D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH 38
+CONSTANT: D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH 39
+TYPEDEF: int D3D11_PRIMITIVE
+
+CONSTANT: D3D11_CULL_NONE 1
+CONSTANT: D3D11_CULL_FRONT 2
+CONSTANT: D3D11_CULL_BACK 3
+TYPEDEF: int D3D11_CULL_MODE
+
+STRUCT: D3D11_SO_DECLARATION_ENTRY
+ { Stream UINT }
+ { SemanticName LPCSTR }
+ { SemanticIndex UINT }
+ { StartComponent BYTE }
+ { ComponentCount BYTE }
+ { OutputSlot BYTE } ;
+
+STRUCT: D3D11_VIEWPORT
+ { TopLeftX FLOAT }
+ { TopLeftY FLOAT }
+ { Width FLOAT }
+ { Height FLOAT }
+ { MinDepth FLOAT }
+ { MaxDepth FLOAT } ;
+
+CONSTANT: D3D11_RESOURCE_DIMENSION_UNKNOWN 0
+CONSTANT: D3D11_RESOURCE_DIMENSION_BUFFER 1
+CONSTANT: D3D11_RESOURCE_DIMENSION_TEXTURE1D 2
+CONSTANT: D3D11_RESOURCE_DIMENSION_TEXTURE2D 3
+CONSTANT: D3D11_RESOURCE_DIMENSION_TEXTURE3D 4
+TYPEDEF: int D3D11_RESOURCE_DIMENSION
+
+CONSTANT: D3D11_SRV_DIMENSION_UNKNOWN 0
+CONSTANT: D3D11_SRV_DIMENSION_BUFFER 1
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURE1D 2
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURE1DARRAY 3
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURE2D 4
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURE2DARRAY 5
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURE2DMS 6
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY 7
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURE3D 8
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURECUBE 9
+CONSTANT: D3D11_SRV_DIMENSION_TEXTURECUBEARRAY 10
+CONSTANT: D3D11_SRV_DIMENSION_BUFFEREX 11
+TYPEDEF: int D3D11_SRV_DIMENSION
+
+CONSTANT: D3D11_DSV_DIMENSION_UNKNOWN 0
+CONSTANT: D3D11_DSV_DIMENSION_TEXTURE1D 1
+CONSTANT: D3D11_DSV_DIMENSION_TEXTURE1DARRAY 2
+CONSTANT: D3D11_DSV_DIMENSION_TEXTURE2D 3
+CONSTANT: D3D11_DSV_DIMENSION_TEXTURE2DARRAY 4
+CONSTANT: D3D11_DSV_DIMENSION_TEXTURE2DMS 5
+CONSTANT: D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY 6
+TYPEDEF: int D3D11_DSV_DIMENSION
+
+CONSTANT: D3D11_RTV_DIMENSION_UNKNOWN 0
+CONSTANT: D3D11_RTV_DIMENSION_BUFFER 1
+CONSTANT: D3D11_RTV_DIMENSION_TEXTURE1D 2
+CONSTANT: D3D11_RTV_DIMENSION_TEXTURE1DARRAY 3
+CONSTANT: D3D11_RTV_DIMENSION_TEXTURE2D 4
+CONSTANT: D3D11_RTV_DIMENSION_TEXTURE2DARRAY 5
+CONSTANT: D3D11_RTV_DIMENSION_TEXTURE2DMS 6
+CONSTANT: D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY 7
+CONSTANT: D3D11_RTV_DIMENSION_TEXTURE3D 8
+TYPEDEF: int D3D11_RTV_DIMENSION
+
+CONSTANT: D3D11_UAV_DIMENSION_UNKNOWN 0
+CONSTANT: D3D11_UAV_DIMENSION_BUFFER 1
+CONSTANT: D3D11_UAV_DIMENSION_TEXTURE1D 2
+CONSTANT: D3D11_UAV_DIMENSION_TEXTURE1DARRAY 3
+CONSTANT: D3D11_UAV_DIMENSION_TEXTURE2D 4
+CONSTANT: D3D11_UAV_DIMENSION_TEXTURE2DARRAY 5
+CONSTANT: D3D11_UAV_DIMENSION_TEXTURE3D 8
+TYPEDEF: int D3D11_UAV_DIMENSION
+
+CONSTANT: D3D11_USAGE_DEFAULT 0
+CONSTANT: D3D11_USAGE_IMMUTABLE 1
+CONSTANT: D3D11_USAGE_DYNAMIC 2
+CONSTANT: D3D11_USAGE_STAGING 3
+TYPEDEF: int D3D11_USAGE
+
+CONSTANT: D3D11_BIND_VERTEX_BUFFER 1
+CONSTANT: D3D11_BIND_INDEX_BUFFER 2
+CONSTANT: D3D11_BIND_CONSTANT_BUFFER 4
+CONSTANT: D3D11_BIND_SHADER_RESOURCE 8
+CONSTANT: D3D11_BIND_STREAM_OUTPUT 16
+CONSTANT: D3D11_BIND_RENDER_TARGET 32
+CONSTANT: D3D11_BIND_DEPTH_STENCIL 64
+CONSTANT: D3D11_BIND_UNORDERED_ACCESS 128
+TYPEDEF: int D3D11_BIND_FLAG
+
+CONSTANT: D3D11_CPU_ACCESS_WRITE HEX: 10000
+CONSTANT: D3D11_CPU_ACCESS_READ HEX: 20000
+TYPEDEF: int D3D11_CPU_ACCESS_FLAG
+
+CONSTANT: D3D11_RESOURCE_MISC_GENERATE_MIPS 1
+CONSTANT: D3D11_RESOURCE_MISC_SHARED 2
+CONSTANT: D3D11_RESOURCE_MISC_TEXTURECUBE 4
+CONSTANT: D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS 16
+CONSTANT: D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS 32
+CONSTANT: D3D11_RESOURCE_MISC_BUFFER_STRUCTURED 64
+CONSTANT: D3D11_RESOURCE_MISC_RESOURCE_CLAMP 128
+CONSTANT: D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX 256
+CONSTANT: D3D11_RESOURCE_MISC_GDI_COMPATIBLE 512
+TYPEDEF: int D3D11_RESOURCE_MISC_FLAG
+
+CONSTANT: D3D11_MAP_READ 1
+CONSTANT: D3D11_MAP_WRITE 2
+CONSTANT: D3D11_MAP_READ_WRITE 3
+CONSTANT: D3D11_MAP_WRITE_DISCARD 4
+CONSTANT: D3D11_MAP_WRITE_NO_OVERWRITE 5
+TYPEDEF: int D3D11_MAP
+
+CONSTANT: D3D11_MAP_FLAG_DO_NOT_WAIT HEX: 100000
+TYPEDEF: int D3D11_MAP_FLAG
+
+CONSTANT: D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR 1
+TYPEDEF: int D3D11_RAISE_FLAG
+
+CONSTANT: D3D11_CLEAR_DEPTH 1
+CONSTANT: D3D11_CLEAR_STENCIL 2
+TYPEDEF: int D3D11_CLEAR_FLAG
+
+TYPEDEF: RECT D3D11_RECT
+
+STRUCT: D3D11_BOX
+ { left UINT }
+ { top UINT }
+ { front UINT }
+ { right UINT }
+ { bottom UINT }
+ { back UINT } ;
+
+COM-INTERFACE: ID3D11DeviceChild IUnknown {1841e5c8-16b0-489b-bcc8-44cfb0d5deae}
+ void GetDevice ( ID3D11Device** ppDevice )
+ HRESULT GetPrivateData ( REFGUID guid, UINT* pDataSize, void* pData )
+ HRESULT SetPrivateData ( REFGUID guid, UINT DataSize, void* pData )
+ HRESULT SetPrivateDataInterface ( REFGUID guid, IUnknown* pData ) ;
+
+CONSTANT: D3D11_COMPARISON_NEVER 1
+CONSTANT: D3D11_COMPARISON_LESS 2
+CONSTANT: D3D11_COMPARISON_EQUAL 3
+CONSTANT: D3D11_COMPARISON_LESS_EQUAL 4
+CONSTANT: D3D11_COMPARISON_GREATER 5
+CONSTANT: D3D11_COMPARISON_NOT_EQUAL 6
+CONSTANT: D3D11_COMPARISON_GREATER_EQUAL 7
+CONSTANT: D3D11_COMPARISON_ALWAYS 8
+TYPEDEF: int D3D11_COMPARISON_FUNC
+
+CONSTANT: D3D11_DEPTH_WRITE_MASK_ZERO 0
+CONSTANT: D3D11_DEPTH_WRITE_MASK_ALL 1
+TYPEDEF: int D3D11_DEPTH_WRITE_MASK
+
+CONSTANT: D3D11_STENCIL_OP_KEEP 1
+CONSTANT: D3D11_STENCIL_OP_ZERO 2
+CONSTANT: D3D11_STENCIL_OP_REPLACE 3
+CONSTANT: D3D11_STENCIL_OP_INCR_SAT 4
+CONSTANT: D3D11_STENCIL_OP_DECR_SAT 5
+CONSTANT: D3D11_STENCIL_OP_INVERT 6
+CONSTANT: D3D11_STENCIL_OP_INCR 7
+CONSTANT: D3D11_STENCIL_OP_DECR 8
+TYPEDEF: int D3D11_STENCIL_OP
+
+STRUCT: D3D11_DEPTH_STENCILOP_DESC
+ { StencilFailOp D3D11_STENCIL_OP }
+ { StencilDepthFailOp D3D11_STENCIL_OP }
+ { StencilPassOp D3D11_STENCIL_OP }
+ { StencilFunc D3D11_COMPARISON_FUNC } ;
+
+STRUCT: D3D11_DEPTH_STENCIL_DESC
+ { DepthEnable BOOL }
+ { DepthWriteMask D3D11_DEPTH_WRITE_MASK }
+ { DepthFunc D3D11_COMPARISON_FUNC }
+ { StencilEnable BOOL }
+ { StencilReadMask BYTE }
+ { StencilWriteMask BYTE }
+ { FrontFace D3D11_DEPTH_STENCILOP_DESC }
+ { BackFace D3D11_DEPTH_STENCILOP_DESC } ;
+
+COM-INTERFACE: ID3D11DepthStencilState ID3D11DeviceChild {03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1}
+ void GetDesc ( D3D11_DEPTH_STENCIL_DESC* pDesc ) ;
+
+CONSTANT: D3D11_BLEND_ZERO 1
+CONSTANT: D3D11_BLEND_ONE 2
+CONSTANT: D3D11_BLEND_SRC_COLOR 3
+CONSTANT: D3D11_BLEND_INV_SRC_COLOR 4
+CONSTANT: D3D11_BLEND_SRC_ALPHA 5
+CONSTANT: D3D11_BLEND_INV_SRC_ALPHA 6
+CONSTANT: D3D11_BLEND_DEST_ALPHA 7
+CONSTANT: D3D11_BLEND_INV_DEST_ALPHA 8
+CONSTANT: D3D11_BLEND_DEST_COLOR 9
+CONSTANT: D3D11_BLEND_INV_DEST_COLOR 10
+CONSTANT: D3D11_BLEND_SRC_ALPHA_SAT 11
+CONSTANT: D3D11_BLEND_BLEND_FACTOR 14
+CONSTANT: D3D11_BLEND_INV_BLEND_FACTOR 15
+CONSTANT: D3D11_BLEND_SRC1_COLOR 16
+CONSTANT: D3D11_BLEND_INV_SRC1_COLOR 17
+CONSTANT: D3D11_BLEND_SRC1_ALPHA 18
+CONSTANT: D3D11_BLEND_INV_SRC1_ALPHA 19
+TYPEDEF: int D3D11_BLEND
+
+CONSTANT: D3D11_BLEND_OP_ADD 1
+CONSTANT: D3D11_BLEND_OP_SUBTRACT 2
+CONSTANT: D3D11_BLEND_OP_REV_SUBTRACT 3
+CONSTANT: D3D11_BLEND_OP_MIN 4
+CONSTANT: D3D11_BLEND_OP_MAX 5
+TYPEDEF: int D3D11_BLEND_OP
+
+CONSTANT: D3D11_COLOR_WRITE_ENABLE_RED 1
+CONSTANT: D3D11_COLOR_WRITE_ENABLE_GREEN 2
+CONSTANT: D3D11_COLOR_WRITE_ENABLE_BLUE 4
+CONSTANT: D3D11_COLOR_WRITE_ENABLE_ALPHA 8
+CONSTANT: D3D11_COLOR_WRITE_ENABLE_ALL 15
+TYPEDEF: int D3D11_COLOR_WRITE_ENABLE
+
+STRUCT: D3D11_RENDER_TARGET_BLEND_DESC
+ { BlendEnable BOOL }
+ { SrcBlend D3D11_BLEND }
+ { DestBlend D3D11_BLEND }
+ { BlendOp D3D11_BLEND_OP }
+ { SrcBlendAlpha D3D11_BLEND }
+ { DestBlendAlpha D3D11_BLEND }
+ { BlendOpAlpha D3D11_BLEND_OP }
+ { RenderTargetWriteMask BYTE } ;
+
+STRUCT: D3D11_BLEND_DESC
+ { AlphaToCoverageEnable BOOL }
+ { IndependentBlendEnable BOOL }
+ { RenderTarget D3D11_RENDER_TARGET_BLEND_DESC[8] } ;
+
+COM-INTERFACE: ID3D11BlendState ID3D11DeviceChild 75b68faa-347d-4159-8f45-a0640f01cd9a
+ void GetDesc ( D3D11_BLEND_DESC* pDesc ) ;
+
+STRUCT: D3D11_RASTERIZER_DESC
+ { FillMode D3D11_FILL_MODE }
+ { CullMode D3D11_CULL_MODE }
+ { FrontCounterClockwise BOOL }
+ { DepthBias INT }
+ { DepthBiasClamp FLOAT }
+ { SlopeScaledDepthBias FLOAT }
+ { DepthClipEnable BOOL }
+ { ScissorEnable BOOL }
+ { MultisampleEnable BOOL }
+ { AntialiasedLineEnable BOOL } ;
+
+COM-INTERFACE: ID3D11RasterizerState ID3D11DeviceChild {9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7}
+ void GetDesc ( D3D11_RASTERIZER_DESC* pDesc ) ;
+
+STRUCT: D3D11_SUBRESOURCE_DATA
+ { pSysMem void* }
+ { SysMemPitch UINT }
+ { SysMemSlicePitch UINT } ;
+
+STRUCT: D3D11_MAPPED_SUBRESOURCE
+ { pData void* }
+ { RowPitch UINT }
+ { DepthPitch UINT } ;
+
+COM-INTERFACE: ID3D11Resource ID3D11DeviceChild {dc8e63f3-d12b-4952-b47b-5e45026a862d}
+ void GetType ( D3D11_RESOURCE_DIMENSION* pResourceDimension )
+ void SetEvictionPriority ( UINT EvictionPriority )
+ UINT GetEvictionPriority ( ) ;
+
+STRUCT: D3D11_BUFFER_DESC
+ { ByteWidth UINT }
+ { Usage D3D11_USAGE }
+ { BindFlags UINT }
+ { CPUAccessFlags UINT }
+ { MiscFlags UINT }
+ { StructureByteStride UINT } ;
+
+COM-INTERFACE: ID3D11Buffer ID3D11Resource {48570b85-d1ee-4fcd-a250-eb350722b037}
+ void GetDesc ( D3D11_BUFFER_DESC* pDesc ) ;
+
+STRUCT: D3D11_TEXTURE1D_DESC
+ { Width UINT }
+ { MipLevels UINT }
+ { ArraySize UINT }
+ { Format DXGI_FORMAT }
+ { Usage D3D11_USAGE }
+ { BindFlags UINT }
+ { CPUAccessFlags UINT }
+ { MiscFlags UINT } ;
+
+COM-INTERFACE: ID3D11Texture1D ID3D11Resource {f8fb5c27-c6b3-4f75-a4c8-439af2ef564c}
+ void GetDesc ( D3D11_TEXTURE1D_DESC* pDesc ) ;
+
+STRUCT: D3D11_TEXTURE2D_DESC
+ { Width UINT }
+ { Height UINT }
+ { MipLevels UINT }
+ { ArraySize UINT }
+ { Format DXGI_FORMAT }
+ { SampleDesc DXGI_SAMPLE_DESC }
+ { Usage D3D11_USAGE }
+ { BindFlags UINT }
+ { CPUAccessFlags UINT }
+ { MiscFlags UINT } ;
+
+COM-INTERFACE: ID3D11Texture2D ID3D11Resource {6f15aaf2-d208-4e89-9ab4-489535d34f9c}
+ void GetDesc ( D3D11_TEXTURE2D_DESC* pDesc ) ;
+
+STRUCT: D3D11_TEXTURE3D_DESC
+ { Width UINT }
+ { Height UINT }
+ { Depth UINT }
+ { MipLevels UINT }
+ { Format DXGI_FORMAT }
+ { Usage D3D11_USAGE }
+ { BindFlags UINT }
+ { CPUAccessFlags UINT }
+ { MiscFlags UINT } ;
+
+COM-INTERFACE: ID3D11Texture3D ID3D11Resource {037e866e-f56d-4357-a8af-9dabbe6e250e}
+ void GetDesc ( D3D11_TEXTURE3D_DESC* pDesc ) ;
+
+CONSTANT: D3D11_TEXTURECUBE_FACE_POSITIVE_X 0
+CONSTANT: D3D11_TEXTURECUBE_FACE_NEGATIVE_X 1
+CONSTANT: D3D11_TEXTURECUBE_FACE_POSITIVE_Y 2
+CONSTANT: D3D11_TEXTURECUBE_FACE_NEGATIVE_Y 3
+CONSTANT: D3D11_TEXTURECUBE_FACE_POSITIVE_Z 4
+CONSTANT: D3D11_TEXTURECUBE_FACE_NEGATIVE_Z 5
+TYPEDEF: int D3D11_TEXTURECUBE_FACE
+
+COM-INTERFACE: ID3D11View ID3D11DeviceChild {839d1216-bb2e-412b-b7f4-a9dbebe08ed1}
+ void GetResource ( ID3D11Resource** ppResource ) ;
+
+UNION-STRUCT: D3D11_BUFFER_SRV_UNION1
+ { FirstElement UINT }
+ { ElementOffset UINT } ;
+
+UNION-STRUCT: D3D11_BUFFER_SRV_UNION2
+ { NumElements UINT }
+ { ElementWith UINT } ;
+
+STRUCT: D3D11_BUFFER_SRV
+ { First D3D11_BUFFER_SRV_UNION1 }
+ { Second D3D11_BUFFER_SRV_UNION2 } ;
+
+CONSTANT: D3D11_BUFFEREX_SRV_FLAG_RAW 1
+TYPEDEF: int D3D11_BUFFEREX_SRV_FLAG
+
+STRUCT: D3D11_BUFFEREX_SRV
+ { FirstElement UINT }
+ { NumElements UINT }
+ { Flags UINT } ;
+
+STRUCT: D3D11_TEX1D_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT } ;
+
+STRUCT: D3D11_TEX1D_ARRAY_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX2D_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT } ;
+
+STRUCT: D3D11_TEX2D_ARRAY_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX3D_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT } ;
+
+STRUCT: D3D11_TEXCUBE_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT } ;
+
+STRUCT: D3D11_TEXCUBE_ARRAY_SRV
+ { MostDetailedMip UINT }
+ { MipLevels UINT }
+ { First2DArrayFace UINT }
+ { NumCubes UINT } ;
+
+STRUCT: D3D11_TEX2DMS_SRV
+ { UnusedField_NothingToDefine UINT } ;
+
+STRUCT: D3D11_TEX2DMS_ARRAY_SRV
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+UNION-STRUCT: D3D11_SHADER_RESOURCE_VIEW_DESC_UNION
+ { Buffer D3D11_BUFFER_SRV }
+ { Texture1D D3D11_TEX1D_SRV }
+ { Texture1DArray D3D11_TEX1D_ARRAY_SRV }
+ { Texture2D D3D11_TEX2D_SRV }
+ { Texture2DArray D3D11_TEX2D_ARRAY_SRV }
+ { Texture2DMS D3D11_TEX2DMS_SRV }
+ { Texture2DMSArray D3D11_TEX2DMS_ARRAY_SRV }
+ { Texture3D D3D11_TEX3D_SRV }
+ { TextureCube D3D11_TEXCUBE_SRV }
+ { TextureCubeArray D3D11_TEXCUBE_ARRAY_SRV }
+ { BufferEx D3D11_BUFFEREX_SRV } ;
+
+STRUCT: D3D11_SHADER_RESOURCE_VIEW_DESC
+ { Format DXGI_FORMAT }
+ { ViewDimension D3D11_SRV_DIMENSION }
+ { View D3D11_SHADER_RESOURCE_VIEW_DESC_UNION } ;
+
+COM-INTERFACE: ID3D11ShaderResourceView ID3D11View {b0e06fe0-8192-4e1a-b1ca-36d7414710b2}
+ void GetDesc ( D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc ) ;
+
+UNION-STRUCT: D3D11_BUFFER_RTV_UNION1
+ { FirstElement UINT }
+ { ElementOffset UINT } ;
+
+UNION-STRUCT: D3D11_BUFFER_RTV_UNION2
+ { NumElements UINT }
+ { ElementWidth UINT } ;
+
+STRUCT: D3D11_BUFFER_RTV
+ { First D3D11_BUFFER_RTV_UNION1 }
+ { Second D3D11_BUFFER_RTV_UNION2 } ;
+
+STRUCT: D3D11_TEX1D_RTV
+ { MipSlice UINT } ;
+
+STRUCT: D3D11_TEX1D_ARRAY_RTV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX2D_RTV
+ { MipSlice UINT } ;
+
+STRUCT: D3D11_TEX2DMS_RTV
+ { UnusedField_NothingToDefine UINT } ;
+
+STRUCT: D3D11_TEX2D_ARRAY_RTV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX2DMS_ARRAY_RTV
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX3D_RTV
+ { MipSlice UINT }
+ { FirstWSlice UINT }
+ { WSize UINT } ;
+
+UNION-STRUCT: D3D11_RENDER_TARGET_VIEW_DESC_UNION
+ { Buffer D3D11_BUFFER_RTV }
+ { Texture1D D3D11_TEX1D_RTV }
+ { Texture1DArray D3D11_TEX1D_ARRAY_RTV }
+ { Texture2D D3D11_TEX2D_RTV }
+ { Texture2DArray D3D11_TEX2D_ARRAY_RTV }
+ { Texture2DMS D3D11_TEX2DMS_RTV }
+ { Texture2DMSArray D3D11_TEX2DMS_ARRAY_RTV }
+ { Texture3D D3D11_TEX3D_RTV } ;
+
+STRUCT: D3D11_RENDER_TARGET_VIEW_DESC
+ { Format DXGI_FORMAT }
+ { ViewDimension D3D11_RTV_DIMENSION }
+ { View D3D11_RENDER_TARGET_VIEW_DESC_UNION } ;
+
+COM-INTERFACE: ID3D11RenderTargetView ID3D11View {dfdba067-0b8d-4865-875b-d7b4516cc164}
+ void GetDesc ( D3D11_RENDER_TARGET_VIEW_DESC* pDesc ) ;
+
+STRUCT: D3D11_TEX1D_DSV
+ { MipSlice UINT } ;
+
+STRUCT: D3D11_TEX1D_ARRAY_DSV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX2D_DSV
+ { MipSlice UINT } ;
+
+STRUCT: D3D11_TEX2D_ARRAY_DSV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX2DMS_DSV
+ { UnusedField_NothingToDefine UINT } ;
+
+STRUCT: D3D11_TEX2DMS_ARRAY_DSV
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+CONSTANT: D3D11_DSV_READ_ONLY_DEPTH 1
+CONSTANT: D3D11_DSV_READ_ONLY_STENCIL 2
+TYPEDEF: int D3D11_DSV_FLAG
+
+UNION-STRUCT: D3D11_DEPTH_STENCIL_VIEW_DESC_UNION
+ { Texture1D D3D11_TEX1D_DSV }
+ { Texture1DArray D3D11_TEX1D_ARRAY_DSV }
+ { Texture2D D3D11_TEX2D_DSV }
+ { Texture2DArray D3D11_TEX2D_ARRAY_DSV }
+ { Texture2DMS D3D11_TEX2DMS_DSV }
+ { Texture2DMSArray D3D11_TEX2DMS_ARRAY_DSV } ;
+
+STRUCT: D3D11_DEPTH_STENCIL_VIEW_DESC
+ { Format DXGI_FORMAT }
+ { ViewDimension D3D11_DSV_DIMENSION }
+ { Flags UINT }
+ { View D3D11_DEPTH_STENCIL_VIEW_DESC_UNION } ;
+
+COM-INTERFACE: ID3D11DepthStencilView ID3D11View {9fdac92a-1876-48c3-afad-25b94f84a9b6}
+ void GetDesc ( D3D11_DEPTH_STENCIL_VIEW_DESC* pDesc ) ;
+
+CONSTANT: D3D11_BUFFER_UAV_FLAG_RAW 1
+CONSTANT: D3D11_BUFFER_UAV_FLAG_APPEND 2
+CONSTANT: D3D11_BUFFER_UAV_FLAG_COUNTER 4
+TYPEDEF: int D3D11_BUFFER_UAV_FLAG
+
+STRUCT: D3D11_BUFFER_UAV
+ { FirstElement UINT }
+ { NumElements UINT }
+ { Flags UINT } ;
+
+STRUCT: D3D11_TEX1D_UAV
+ { MipSlice UINT } ;
+
+STRUCT: D3D11_TEX1D_ARRAY_UAV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX2D_UAV
+ { MipSlice UINT } ;
+
+STRUCT: D3D11_TEX2D_ARRAY_UAV
+ { MipSlice UINT }
+ { FirstArraySlice UINT }
+ { ArraySize UINT } ;
+
+STRUCT: D3D11_TEX3D_UAV
+ { MipSlice UINT }
+ { FirstWSlice UINT }
+ { WSize UINT } ;
+
+UNION-STRUCT: D3D11_UNORDERED_ACCESS_VIEW_DESC_UNION
+ { Buffer D3D11_BUFFER_UAV }
+ { Texture1D D3D11_TEX1D_UAV }
+ { Texture1DArray D3D11_TEX1D_ARRAY_UAV }
+ { Texture2D D3D11_TEX2D_UAV }
+ { Texture2DArray D3D11_TEX2D_ARRAY_UAV }
+ { Texture3D D3D11_TEX3D_UAV } ;
+
+STRUCT: D3D11_UNORDERED_ACCESS_VIEW_DESC
+ { Format DXGI_FORMAT }
+ { ViewDimension D3D11_UAV_DIMENSION }
+ { View D3D11_UNORDERED_ACCESS_VIEW_DESC_UNION } ;
+
+
+COM-INTERFACE: ID3D11UnorderedAccessView ID3D11View {28acf509-7f5c-48f6-8611-f316010a6380}
+ void GetDesc ( D3D11_UNORDERED_ACCESS_VIEW_DESC* pDesc ) ;
+
+COM-INTERFACE: ID3D11VertexShader ID3D11DeviceChild {3b301d64-d678-4289-8897-22f8928b72f3} ;
+
+COM-INTERFACE: ID3D11HullShader ID3D11DeviceChild {8e5c6061-628a-4c8e-8264-bbe45cb3d5dd} ;
+
+COM-INTERFACE: ID3D11DomainShader ID3D11DeviceChild {f582c508-0f36-490c-9977-31eece268cfa} ;
+
+COM-INTERFACE: ID3D11GeometryShader ID3D11DeviceChild {38325b96-effb-4022-ba02-2e795b70275c} ;
+
+COM-INTERFACE: ID3D11PixelShader ID3D11DeviceChild {ea82e40d-51dc-4f33-93d4-db7c9125ae8c} ;
+
+COM-INTERFACE: ID3D11ComputeShader ID3D11DeviceChild {4f5b196e-c2bd-495e-bd01-1fded38e4969} ;
+
+COM-INTERFACE: ID3D11InputLayout ID3D11DeviceChild {e4819ddc-4cf0-4025-bd26-5de82a3e07b7} ;
+
+CONSTANT: D3D11_FILTER_MIN_MAG_MIP_POINT HEX: 0
+CONSTANT: D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR HEX: 1
+CONSTANT: D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT HEX: 4
+CONSTANT: D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR HEX: 5
+CONSTANT: D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT HEX: 10
+CONSTANT: D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR HEX: 11
+CONSTANT: D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT HEX: 14
+CONSTANT: D3D11_FILTER_MIN_MAG_MIP_LINEAR HEX: 15
+CONSTANT: D3D11_FILTER_ANISOTROPIC HEX: 55
+CONSTANT: D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT HEX: 80
+CONSTANT: D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR HEX: 81
+CONSTANT: D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT HEX: 84
+CONSTANT: D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR HEX: 85
+CONSTANT: D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT HEX: 90
+CONSTANT: D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR HEX: 91
+CONSTANT: D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT HEX: 94
+CONSTANT: D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR HEX: 95
+CONSTANT: D3D11_FILTER_COMPARISON_ANISOTROPIC HEX: d5
+TYPEDEF: int D3D11_FILTER
+
+CONSTANT: D3D11_FILTER_TYPE_POINT 0
+CONSTANT: D3D11_FILTER_TYPE_LINEAR 1
+TYPEDEF: int D3D11_FILTER_TYPE;
+
+CONSTANT: D3D11_FILTER_TYPE_MASK 3
+CONSTANT: D3D11_MIN_FILTER_SHIFT 4
+CONSTANT: D3D11_MAG_FILTER_SHIFT 2
+CONSTANT: D3D11_MIP_FILTER_SHIFT 0
+CONSTANT: D3D11_COMPARISON_FILTERING_BIT HEX: 80
+CONSTANT: D3D11_ANISOTROPIC_FILTERING_BIT HEX: 40
+
+CONSTANT: D3D11_TEXTURE_ADDRESS_WRAP 1
+CONSTANT: D3D11_TEXTURE_ADDRESS_MIRROR 2
+CONSTANT: D3D11_TEXTURE_ADDRESS_CLAMP 3
+CONSTANT: D3D11_TEXTURE_ADDRESS_BORDER 4
+CONSTANT: D3D11_TEXTURE_ADDRESS_MIRROR_ONCE 5
+TYPEDEF: int D3D11_TEXTURE_ADDRESS_MODE
+
+STRUCT: D3D11_SAMPLER_DESC
+ { Filter D3D11_FILTER }
+ { AddressU D3D11_TEXTURE_ADDRESS_MODE }
+ { AddressV D3D11_TEXTURE_ADDRESS_MODE }
+ { AddressW D3D11_TEXTURE_ADDRESS_MODE }
+ { MipLODBias FLOAT }
+ { MaxAnisotropy UINT }
+ { ComparisonFunc D3D11_COMPARISON_FUNC }
+ { BorderColor FLOAT[4] }
+ { MinLOD FLOAT }
+ { MaxLOD FLOAT } ;
+
+COM-INTERFACE: ID3D11SamplerState ID3D11DeviceChild {da6fea51-564c-4487-9810-f0d0f9b4e3a5}
+ void GetDesc ( D3D11_SAMPLER_DESC* pDesc ) ;
+
+CONSTANT: D3D11_FORMAT_SUPPORT_BUFFER HEX: 1
+CONSTANT: D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER HEX: 2
+CONSTANT: D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER HEX: 4
+CONSTANT: D3D11_FORMAT_SUPPORT_SO_BUFFER HEX: 8
+CONSTANT: D3D11_FORMAT_SUPPORT_TEXTURE1D HEX: 10
+CONSTANT: D3D11_FORMAT_SUPPORT_TEXTURE2D HEX: 20
+CONSTANT: D3D11_FORMAT_SUPPORT_TEXTURE3D HEX: 40
+CONSTANT: D3D11_FORMAT_SUPPORT_TEXTURECUBE HEX: 80
+CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_LOAD HEX: 100
+CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_SAMPLE HEX: 200
+CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON HEX: 400
+CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT HEX: 800
+CONSTANT: D3D11_FORMAT_SUPPORT_MIP HEX: 1000
+CONSTANT: D3D11_FORMAT_SUPPORT_MIP_AUTOGEN HEX: 2000
+CONSTANT: D3D11_FORMAT_SUPPORT_RENDER_TARGET HEX: 4000
+CONSTANT: D3D11_FORMAT_SUPPORT_BLENDABLE HEX: 8000
+CONSTANT: D3D11_FORMAT_SUPPORT_DEPTH_STENCIL HEX: 10000
+CONSTANT: D3D11_FORMAT_SUPPORT_CPU_LOCKABLE HEX: 20000
+CONSTANT: D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE HEX: 40000
+CONSTANT: D3D11_FORMAT_SUPPORT_DISPLAY HEX: 80000
+CONSTANT: D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT HEX: 100000
+CONSTANT: D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET HEX: 200000
+CONSTANT: D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD HEX: 400000
+CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_GATHER HEX: 800000
+CONSTANT: D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST HEX: 1000000
+CONSTANT: D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW HEX: 2000000
+CONSTANT: D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON HEX: 4000000
+TYPEDEF: int D3D11_FORMAT_SUPPORT
+
+CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD HEX: 1
+CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS HEX: 2
+CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE HEX: 4
+CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE HEX: 8
+CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX HEX: 10
+CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX HEX: 20
+CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD HEX: 40
+CONSTANT: D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE HEX: 80
+TYPEDEF: int D3D11_FORMAT_SUPPORT2
+
+COM-INTERFACE: ID3D11Asynchronous ID3D11DeviceChild {4b35d0cd-1e15-4258-9c98-1b1333f6dd3b}
+ UINT GetDataSize ( ) ;
+
+CONSTANT: D3D11_ASYNC_GETDATA_DONOTFLUSH 1
+TYPEDEF: int D3D11_ASYNC_GETDATA_FLAG
+
+CONSTANT: D3D11_QUERY_EVENT 0
+CONSTANT: D3D11_QUERY_OCCLUSION 1
+CONSTANT: D3D11_QUERY_TIMESTAMP 2
+CONSTANT: D3D11_QUERY_TIMESTAMP_DISJOINT 3
+CONSTANT: D3D11_QUERY_PIPELINE_STATISTICS 4
+CONSTANT: D3D11_QUERY_OCCLUSION_PREDICATE 5
+CONSTANT: D3D11_QUERY_SO_STATISTICS 6
+CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE 7
+CONSTANT: D3D11_QUERY_SO_STATISTICS_STREAM0 8
+CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 9
+CONSTANT: D3D11_QUERY_SO_STATISTICS_STREAM1 10
+CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 11
+CONSTANT: D3D11_QUERY_SO_STATISTICS_STREAM2 12
+CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 13
+CONSTANT: D3D11_QUERY_SO_STATISTICS_STREAM3 14
+CONSTANT: D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 15
+TYPEDEF: int D3D11_QUERY
+
+CONSTANT: D3D11_QUERY_MISC_PREDICATEHINT 1
+TYPEDEF: int D3D11_QUERY_MISC_FLAG
+
+STRUCT: D3D11_QUERY_DESC
+ { Query D3D11_QUERY }
+ { MiscFlags UINT } ;
+
+COM-INTERFACE: ID3D11Query ID3D11Asynchronous {d6c00747-87b7-425e-b84d-44d108560afd}
+ void GetDesc ( D3D11_QUERY_DESC* pDesc ) ;
+
+COM-INTERFACE: ID3D11Predicate ID3D11Query {9eb576dd-9f77-4d86-81aa-8bab5fe490e2} ;
+
+STRUCT: D3D11_QUERY_DATA_TIMESTAMP_DISJOINT
+ { Frequency UINT64 }
+ { Disjoint BOOL } ;
+
+STRUCT: D3D11_QUERY_DATA_PIPELINE_STATISTICS
+ { IAVertices UINT64 }
+ { IAPrimitives UINT64 }
+ { VSInvocations UINT64 }
+ { GSInvocations UINT64 }
+ { GSPrimitives UINT64 }
+ { CInvocations UINT64 }
+ { CPrimitives UINT64 }
+ { PSInvocations UINT64 }
+ { HSInvocations UINT64 }
+ { DSInvocations UINT64 }
+ { CSInvocations UINT64 } ;
+
+STRUCT: D3D11_QUERY_DATA_SO_STATISTICS
+ { NumPrimitivesWritten UINT64 }
+ { PrimitivesStorageNeeded UINT64 } ;
+
+CONSTANT: D3D11_COUNTER_DEVICE_DEPENDENT_0 HEX: 40000000
+TYPEDEF: int D3D11_COUNTER
+
+CONSTANT: D3D11_COUNTER_TYPE_FLOAT32 0
+CONSTANT: D3D11_COUNTER_TYPE_UINT16 1
+CONSTANT: D3D11_COUNTER_TYPE_UINT32 2
+CONSTANT: D3D11_COUNTER_TYPE_UINT64 3
+TYPEDEF: int D3D11_COUNTER_TYPE
+
+STRUCT: D3D11_COUNTER_DESC
+ { Counter D3D11_COUNTER }
+ { MiscFlags UINT } ;
+
+STRUCT: D3D11_COUNTER_INFO
+ { LastDeviceDependentCounter D3D11_COUNTER }
+ { NumSimultaneousCounters UINT }
+ { NumDetectableParallelUnits BYTE } ;
+
+COM-INTERFACE: ID3D11Counter ID3D11Asynchronous {6e8c49fb-a371-4770-b440-29086022b741}
+ void GetDesc ( D3D11_COUNTER_DESC* pDesc ) ;
+
+CONSTANT: D3D11_STANDARD_MULTISAMPLE_PATTERN HEX: ffffffff
+CONSTANT: D3D11_CENTER_MULTISAMPLE_PATTERN HEX: fffffffe
+TYPEDEF: int D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS
+
+CONSTANT: D3D11_DEVICE_CONTEXT_IMMEDIATE 0
+CONSTANT: D3D11_DEVICE_CONTEXT_DEFERRED 1
+TYPEDEF: int D3D11_DEVICE_CONTEXT_TYPE
+
+STRUCT: D3D11_CLASS_INSTANCE_DESC
+ { InstanceId UINT }
+ { InstanceIndex UINT }
+ { TypeId UINT }
+ { ConstantBuffer UINT }
+ { BaseConstantBufferOffset UINT }
+ { BaseTexture UINT }
+ { BaseSampler UINT }
+ { Created BOOL } ;
+
+COM-INTERFACE: ID3D11ClassInstance ID3D11DeviceChild {a6cd7faa-b0b7-4a2f-9436-8662a65797cb}
+ void GetClassLinkage ( ID3D11ClassLinkage** ppLinkage )
+ void GetDesc ( D3D11_CLASS_INSTANCE_DESC* pDesc )
+ void GetInstanceName ( LPSTR pInstanceName, SIZE_T* pBufferLength )
+ void GetTypeName ( LPSTR pTypeName, SIZE_T* pBufferLength ) ;
+
+COM-INTERFACE: ID3D11ClassLinkage ID3D11DeviceChild {ddf57cba-9543-46e4-a12b-f207a0fe7fed}
+ HRESULT GetClassInstance ( LPCSTR pClassInstanceName, UINT InstanceIndex, ID3D11ClassInstance** ppInstance )
+ HRESULT CreateClassInstance ( LPCSTR pClassTypeName, UINT ConstantBufferOffset, UINT ConstantVectorOffset, UINT TextureOffset, UINT SamplerOffset, ID3D11ClassInstance** ppInstance ) ;
+
+COM-INTERFACE: ID3D11CommandList ID3D11DeviceChild {a24bc4d1-769e-43f7-8013-98ff566c18e2}
+ UINT GetContextFlags ( ) ;
+
+CONSTANT: D3D11_FEATURE_THREADING 0
+CONSTANT: D3D11_FEATURE_DOUBLES 1
+CONSTANT: D3D11_FEATURE_FORMAT_SUPPORT 2
+CONSTANT: D3D11_FEATURE_FORMAT_SUPPORT2 3
+CONSTANT: D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS 4
+TYPEDEF: int D3D11_FEATURE
+
+STRUCT: D3D11_FEATURE_DATA_THREADING
+ { DriverConcurrentCreates BOOL }
+ { DriverCommandLists BOOL } ;
+
+STRUCT: D3D11_FEATURE_DATA_DOUBLES
+ { DoublePrecisionFloatShaderOps BOOL } ;
+
+STRUCT: D3D11_FEATURE_DATA_FORMAT_SUPPORT
+ { InFormat DXGI_FORMAT }
+ { OutFormatSupport UINT } ;
+
+STRUCT: D3D11_FEATURE_DATA_FORMAT_SUPPORT2
+ { InFormat DXGI_FORMAT }
+ { OutFormatSupport2 UINT } ;
+
+STRUCT: D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS
+ { ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x BOOL } ;
+
+COM-INTERFACE: ID3D11DeviceContext ID3D11DeviceChild {c0bfa96c-e089-44fb-8eaf-26f8796190da}
+ void VSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void PSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void PSSetShader ( ID3D11PixelShader* pPixelShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances )
+ void PSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void VSSetShader ( ID3D11VertexShader* pVertexShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances )
+ void DrawIndexed ( UINT IndexCount, UINT StartIndexLocation, INT BaseVertexLocation )
+ void Draw ( UINT VertexCount, UINT StartVertexLocation )
+ HRESULT Map ( ID3D11Resource* pResource, UINT Subresource, D3D11_MAP MapType, UINT MapFlags, D3D11_MAPPED_SUBRESOURCE* pMappedResource )
+ void Unmap ( ID3D11Resource* pResource, UINT Subresource )
+ void PSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void IASetInputLayout ( ID3D11InputLayout* pInputLayout )
+ void IASetVertexBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppVertexBuffers, UINT* pStrides, UINT* pOffsets )
+ void IASetIndexBuffer ( ID3D11Buffer* pIndexBuffer, DXGI_FORMAT Format, UINT Offset )
+ void DrawIndexedInstanced ( UINT IndexCountPerInstance, UINT InstanceCount, UINT StartIndexLocation, INT BaseVertexLocation, UINT StartInstanceLocation )
+ void DrawInstanced ( UINT VertexCountPerInstance, UINT InstanceCount, UINT StartVertexLocation, UINT StartInstanceLocation )
+ void GSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void GSSetShader ( ID3D11GeometryShader* pShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances )
+ void IASetPrimitiveTopology ( D3D11_PRIMITIVE_TOPOLOGY Topology )
+ void VSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void VSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void Begin ( ID3D11Asynchronous* pAsync )
+ void End ( ID3D11Asynchronous* pAsync )
+ HRESULT GetData ( ID3D11Asynchronous* pAsync, void* pData, UINT DataSize, UINT GetDataFlags )
+ void SetPredication ( ID3D11Predicate* pPredicate, BOOL PredicateValue )
+ void GSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void GSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void OMSetRenderTargets ( UINT NumViews, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView* pDepthStencilView )
+ void OMSetRenderTargetsAndUnorderedAccessViews ( UINT NumRTVs, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView* pDepthStencilView, UINT UAVStartSlot, UINT NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews, UINT* pUAVInitialCounts )
+ void OMSetBlendState ( ID3D11BlendState* pBlendState, FLOAT[4] BlendFactor, UINT SampleMask )
+ void OMSetDepthStencilState ( ID3D11DepthStencilState* pDepthStencilState, UINT StencilRef )
+ void SOSetTargets ( UINT NumBuffers, ID3D11Buffer** ppSOTargets, UINT* pOffsets )
+ void DrawAuto ( )
+ void DrawIndexedInstancedIndirect ( ID3D11Buffer* pBufferForArgs, UINT AlignedByteOffsetForArgs )
+ void DrawInstancedIndirect ( ID3D11Buffer* pBufferForArgs, UINT AlignedByteOffsetForArgs )
+ void Dispatch ( UINT ThreadGroupCountX, UINT ThreadGroupCountY, UINT ThreadGroupCountZ )
+ void DispatchIndirect ( ID3D11Buffer* pBufferForArgs, UINT AlignedByteOffsetForArgs )
+ void RSSetState ( ID3D11RasterizerState* pRasterizerState )
+ void RSSetViewports ( UINT NumViewports, D3D11_VIEWPORT* pViewports )
+ void RSSetScissorRects ( UINT NumRects, D3D11_RECT* pRects )
+ void CopySubresourceRegion ( ID3D11Resource* pDstResource, UINT DstSubresource, UINT DstX, UINT DstY, UINT DstZ, ID3D11Resource* pSrcResource, UINT SrcSubresource, D3D11_BOX* pSrcBox )
+ void CopyResource ( ID3D11Resource* pDstResource, ID3D11Resource* pSrcResource )
+ void UpdateSubresource ( ID3D11Resource* pDstResource, UINT DstSubresource, D3D11_BOX* pDstBox, void* pSrcData, UINT SrcRowPitch, UINT SrcDepthPitch )
+ void CopyStructureCount ( ID3D11Buffer* pDstBuffer, UINT DstAlignedByteOffset, ID3D11UnorderedAccessView* pSrcView )
+ void ClearRenderTargetView ( ID3D11RenderTargetView* pRenderTargetView, FLOAT[4] ColorRGBA )
+ void ClearUnorderedAccessViewUint ( ID3D11UnorderedAccessView* pUnorderedAccessView, UINT[4] Values )
+ void ClearUnorderedAccessViewFloat ( ID3D11UnorderedAccessView* pUnorderedAccessView, FLOAT[4] Values )
+ void ClearDepthStencilView ( ID3D11DepthStencilView* pDepthStencilView, UINT ClearFlags, FLOAT Depth, BYTE Stencil )
+ void GenerateMips ( ID3D11ShaderResourceView* pShaderResourceView )
+ void SetResourceMinLOD ( ID3D11Resource* pResource, FLOAT MinLOD )
+ FLOAT GetResourceMinLOD ( ID3D11Resource* pResource )
+ void ResolveSubresource ( ID3D11Resource* pDstResource, UINT DstSubresource, ID3D11Resource* pSrcResource, UINT SrcSubresource, DXGI_FORMAT Format )
+ void ExecuteCommandList ( ID3D11CommandList* pCommandList, BOOL RestoreContextState )
+ void HSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void HSSetShader ( ID3D11HullShader* pHullShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances )
+ void HSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void HSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void DSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void DSSetShader ( ID3D11DomainShader* pDomainShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances )
+ void DSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void DSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void CSSetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void CSSetUnorderedAccessViews ( UINT StartSlot, UINT NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews, UINT* pUAVInitialCounts )
+ void CSSetShader ( ID3D11ComputeShader* pComputeShader, ID3D11ClassInstance** ppClassInstances, UINT NumClassInstances )
+ void CSSetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void CSSetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void VSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void PSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void PSGetShader ( ID3D11PixelShader** ppPixelShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances )
+ void PSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void VSGetShader ( ID3D11VertexShader** ppVertexShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances )
+ void PSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void IAGetInputLayout ( ID3D11InputLayout** ppInputLayout )
+ void IAGetVertexBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppVertexBuffers, UINT* pStrides, UINT* pOffsets )
+ void IAGetIndexBuffer ( ID3D11Buffer** pIndexBuffer, DXGI_FORMAT* Format, UINT* Offset )
+ void GSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void GSGetShader ( ID3D11GeometryShader** ppGeometryShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances )
+ void IAGetPrimitiveTopology ( D3D11_PRIMITIVE_TOPOLOGY* pTopology )
+ void VSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void VSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void GetPredication ( ID3D11Predicate** ppPredicate, BOOL* pPredicateValue )
+ void GSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void GSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void OMGetRenderTargets ( UINT NumViews, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView** ppDepthStencilView )
+ void OMGetRenderTargetsAndUnorderedAccessViews ( UINT NumRTVs, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView** ppDepthStencilView, UINT UAVStartSlot, UINT NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews )
+ void OMGetBlendState ( ID3D11BlendState** ppBlendState, FLOAT[4] BlendFactor, UINT* pSampleMask )
+ void OMGetDepthStencilState ( ID3D11DepthStencilState** ppDepthStencilState, UINT* pStencilRef )
+ void SOGetTargets ( UINT NumBuffers, ID3D11Buffer** ppSOTargets )
+ void RSGetState ( ID3D11RasterizerState** ppRasterizerState )
+ void RSGetViewports ( UINT* pNumViewports, D3D11_VIEWPORT* pViewports )
+ void RSGetScissorRects ( UINT* pNumRects, D3D11_RECT* pRects )
+ void HSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void HSGetShader ( ID3D11HullShader** ppHullShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances )
+ void HSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void HSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void DSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void DSGetShader ( ID3D11DomainShader** ppDomainShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances )
+ void DSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void DSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void CSGetShaderResources ( UINT StartSlot, UINT NumViews, ID3D11ShaderResourceView** ppShaderResourceViews )
+ void CSGetUnorderedAccessViews ( UINT StartSlot, UINT NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews )
+ void CSGetShader ( ID3D11ComputeShader** ppComputeShader, ID3D11ClassInstance** ppClassInstances, UINT* pNumClassInstances )
+ void CSGetSamplers ( UINT StartSlot, UINT NumSamplers, ID3D11SamplerState** ppSamplers )
+ void CSGetConstantBuffers ( UINT StartSlot, UINT NumBuffers, ID3D11Buffer** ppConstantBuffers )
+ void ClearState ( )
+ void Flush ( )
+ D3D11_DEVICE_CONTEXT_TYPE GetType ( )
+ UINT GetContextFlags ( )
+ HRESULT FinishCommandList ( BOOL RestoreDeferredContextState, ID3D11CommandList** ppCommandList ) ;
+
+COM-INTERFACE: ID3D11Device IUnknown {db6f6ddb-ac77-4e88-8253-819df9bbf140}
+ HRESULT CreateBuffer ( D3D11_BUFFER_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Buffer** ppBuffer )
+ HRESULT CreateTexture1D ( D3D11_TEXTURE1D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture1D** ppTexture1D )
+ HRESULT CreateTexture2D ( D3D11_TEXTURE2D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture2D** ppTexture2D )
+ HRESULT CreateTexture3D ( D3D11_TEXTURE3D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture3D** ppTexture3D )
+ HRESULT CreateShaderResourceView ( ID3D11Resource* pResource, D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc, ID3D11ShaderResourceView** ppSRView )
+ HRESULT CreateUnorderedAccessView ( ID3D11Resource* pResource, D3D11_UNORDERED_ACCESS_VIEW_DESC* pDesc, ID3D11UnorderedAccessView** ppUAView )
+ HRESULT CreateRenderTargetView ( ID3D11Resource* pResource, D3D11_RENDER_TARGET_VIEW_DESC* pDesc, ID3D11RenderTargetView** ppRTView )
+ HRESULT CreateDepthStencilView ( ID3D11Resource* pResource, D3D11_DEPTH_STENCIL_VIEW_DESC* pDesc, ID3D11DepthStencilView** ppDepthStencilView )
+ HRESULT CreateInputLayout ( D3D11_INPUT_ELEMENT_DESC* pInputElementDescs, UINT NumElements, void* pShaderBytecodeWithInputSignature, SIZE_T BytecodeLength, ID3D11InputLayout** ppInputLayout )
+ HRESULT CreateVertexShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11VertexShader** ppVertexShader )
+ HRESULT CreateGeometryShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11GeometryShader** ppGeometryShader )
+ HRESULT CreateGeometryShaderWithStreamOutput ( void* pShaderBytecode, SIZE_T BytecodeLength, D3D11_SO_DECLARATION_ENTRY* pSODeclaration, UINT NumEntries, UINT* pBufferStrides, UINT NumStrides, UINT RasterizedStream, ID3D11ClassLinkage* pClassLinkage, ID3D11GeometryShader** ppGeometryShader )
+ HRESULT CreatePixelShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11PixelShader** ppPixelShader )
+ HRESULT CreateHullShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11HullShader** ppHullShader )
+ HRESULT CreateDomainShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11DomainShader** ppDomainShader )
+ HRESULT CreateComputeShader ( void* pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11ComputeShader** ppComputeShader )
+ HRESULT CreateClassLinkage ( ID3D11ClassLinkage** ppLinkage )
+ HRESULT CreateBlendState ( D3D11_BLEND_DESC* pBlendStateDesc, ID3D11BlendState** ppBlendState )
+ HRESULT CreateDepthStencilState ( D3D11_DEPTH_STENCIL_DESC* pDepthStencilDesc, ID3D11DepthStencilState** ppDepthStencilState )
+ HRESULT CreateRasterizerState ( D3D11_RASTERIZER_DESC* pRasterizerDesc, ID3D11RasterizerState** ppRasterizerState )
+ HRESULT CreateSamplerState ( D3D11_SAMPLER_DESC* pSamplerDesc, ID3D11SamplerState** ppSamplerState )
+ HRESULT CreateQuery ( D3D11_QUERY_DESC* pQueryDesc, ID3D11Query** ppQuery )
+ HRESULT CreatePredicate ( D3D11_QUERY_DESC* pPredicateDesc, ID3D11Predicate** ppPredicate )
+ HRESULT CreateCounter ( D3D11_COUNTER_DESC* pCounterDesc, ID3D11Counter** ppCounter )
+ HRESULT CreateDeferredContext ( UINT ContextFlags, ID3D11DeviceContext** ppDeferredContext )
+ HRESULT OpenSharedResource ( HANDLE hResource, REFIID ReturnedInterface, void** ppResource )
+ HRESULT CheckFormatSupport ( DXGI_FORMAT Format, UINT* pFormatSupport )
+ HRESULT CheckMultisampleQualityLevels ( DXGI_FORMAT Format, UINT SampleCount, UINT* pNumQualityLevels )
+ void CheckCounterInfo ( D3D11_COUNTER_INFO* pCounterInfo )
+ HRESULT CheckCounter ( D3D11_COUNTER_DESC* pDesc, D3D11_COUNTER_TYPE* pType, UINT* pActiveCounters, LPSTR szName, UINT* pNameLength, LPSTR szUnits, UINT* pUnitsLength, LPSTR szDescription, UINT* pDescriptionLength )
+ HRESULT CheckFeatureSupport ( D3D11_FEATURE Feature, void* pFeatureSupportData, UINT FeatureSupportDataSize )
+ HRESULT GetPrivateData ( REFGUID guid, UINT* pDataSize, void* pData )
+ HRESULT SetPrivateData ( REFGUID guid, UINT DataSize, void* pData )
+ HRESULT SetPrivateDataInterface ( REFGUID guid, IUnknown* pData )
+ D3D_FEATURE_LEVEL GetFeatureLevel ( )
+ UINT GetCreationFlags ( )
+ HRESULT GetDeviceRemovedReason ( )
+ void GetImmediateContext ( ID3D11DeviceContext** ppImmediateContext )
+ HRESULT SetExceptionMode ( UINT RaiseFlags )
+ UINT GetExceptionMode ( ) ;
+
+CONSTANT: D3D11_CREATE_DEVICE_SINGLETHREADED 1
+CONSTANT: D3D11_CREATE_DEVICE_DEBUG 2
+CONSTANT: D3D11_CREATE_DEVICE_SWITCH_TO_REF 4
+CONSTANT: D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS 8
+CONSTANT: D3D11_CREATE_DEVICE_BGRA_SUPPORT 32
+TYPEDEF: int D3D11_CREATE_DEVICE_FLAG;
+
+CONSTANT: D3D11_SDK_VERSION 7
+
+FUNCTION: HRESULT D3D11CreateDevice (
+ IDXGIAdapter* pAdapter,
+ D3D_DRIVER_TYPE DriverType,
+ HMODULE Software,
+ UINT Flags,
+ D3D_FEATURE_LEVEL* pFeatureLevels,
+ UINT FeatureLevels,
+ UINT SDKVersion,
+ ID3D11Device** ppDevice,
+ D3D_FEATURE_LEVEL* pFeatureLevel,
+ ID3D11DeviceContext** ppImmediateContext ) ;
+
+FUNCTION: HRESULT D3D11CreateDeviceAndSwapChain (
+ IDXGIAdapter* pAdapter,
+ D3D_DRIVER_TYPE DriverType,
+ HMODULE Software,
+ UINT Flags,
+ D3D_FEATURE_LEVEL* pFeatureLevels,
+ UINT FeatureLevels,
+ UINT SDKVersion,
+ DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,
+ IDXGISwapChain** ppSwapChain,
+ ID3D11Device** ppDevice,
+ D3D_FEATURE_LEVEL* pFeatureLevel,
+ ID3D11DeviceContext** ppImmediateContext ) ;
--- /dev/null
+Direct3D 11 bindings. Corresponds to D3D11.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax alien.c-types classes.struct windows.types
+windows.directx.d3d10shader windows.directx.d3d10
+windows.directx.d3d11 windows.com windows.com.syntax ;
+IN: windows.directx.d3d11shader
+
+LIBRARY: d3d11
+
+CONSTANT: D3D11_SHVER_PIXEL_SHADER 0
+CONSTANT: D3D11_SHVER_VERTEX_SHADER 1
+CONSTANT: D3D11_SHVER_GEOMETRY_SHADER 2
+CONSTANT: D3D11_SHVER_HULL_SHADER 3
+CONSTANT: D3D11_SHVER_DOMAIN_SHADER 4
+CONSTANT: D3D11_SHVER_COMPUTE_SHADER 5
+TYPEDEF: int D3D11_SHADER_VERSION_TYPE
+
+CONSTANT: D3D11_RETURN_TYPE_UNORM 1
+CONSTANT: D3D11_RETURN_TYPE_SNORM 2
+CONSTANT: D3D11_RETURN_TYPE_SINT 3
+CONSTANT: D3D11_RETURN_TYPE_UINT 4
+CONSTANT: D3D11_RETURN_TYPE_FLOAT 5
+CONSTANT: D3D11_RETURN_TYPE_MIXED 6
+CONSTANT: D3D11_RETURN_TYPE_DOUBLE 7
+CONSTANT: D3D11_RETURN_TYPE_CONTINUED 8
+TYPEDEF: int D3D11_RESOURCE_RETURN_TYPE
+
+C-ENUM: D3D11_CT_CBUFFER
+ D3D11_CT_TBUFFER
+ D3D11_CT_INTERFACE_POINTERS
+ D3D11_CT_RESOURCE_BIND_INFO ;
+TYPEDEF: int D3D11_CBUFFER_TYPE
+TYPEDEF: D3D11_CBUFFER_TYPE* LPD3D11_CBUFFER_TYPE
+
+STRUCT: D3D11_SIGNATURE_PARAMETER_DESC
+ { SemanticName LPCSTR }
+ { SemanticIndex UINT }
+ { Register UINT }
+ { SystemValueType D3D10_NAME }
+ { ComponentType D3D10_REGISTER_COMPONENT_TYPE }
+ { Mask BYTE }
+ { ReadWriteMask BYTE }
+ { Stream UINT } ;
+
+STRUCT: D3D11_SHADER_BUFFER_DESC
+ { Name LPCSTR }
+ { Type D3D11_CBUFFER_TYPE }
+ { Variables UINT }
+ { Size UINT }
+ { uFlags UINT } ;
+
+STRUCT: D3D11_SHADER_VARIABLE_DESC
+ { Name LPCSTR }
+ { StartOffset UINT }
+ { Size UINT }
+ { uFlags UINT }
+ { DefaultValue LPVOID }
+ { StartTexture UINT }
+ { TextureSize UINT }
+ { StartSampler UINT }
+ { SamplerSize UINT } ;
+
+STRUCT: D3D11_SHADER_TYPE_DESC
+ { Class D3D10_SHADER_VARIABLE_CLASS }
+ { Type D3D10_SHADER_VARIABLE_TYPE }
+ { Rows UINT }
+ { Columns UINT }
+ { Elements UINT }
+ { Members UINT }
+ { Offset UINT }
+ { Name LPCSTR } ;
+
+CONSTANT: D3D11_TESSELLATOR_DOMAIN_UNDEFINED 0
+CONSTANT: D3D11_TESSELLATOR_DOMAIN_ISOLINE 1
+CONSTANT: D3D11_TESSELLATOR_DOMAIN_TRI 2
+CONSTANT: D3D11_TESSELLATOR_DOMAIN_QUAD 3
+TYPEDEF: int D3D11_TESSELLATOR_DOMAIN
+
+CONSTANT: D3D11_TESSELLATOR_PARTITIONING_UNDEFINED 0
+CONSTANT: D3D11_TESSELLATOR_PARTITIONING_INTEGER 1
+CONSTANT: D3D11_TESSELLATOR_PARTITIONING_POW2 2
+CONSTANT: D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD 3
+CONSTANT: D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN 4
+TYPEDEF: int D3D11_TESSELLATOR_PARTITIONING
+
+CONSTANT: D3D11_TESSELLATOR_OUTPUT_UNDEFINED 0
+CONSTANT: D3D11_TESSELLATOR_OUTPUT_POINT 1
+CONSTANT: D3D11_TESSELLATOR_OUTPUT_LINE 2
+CONSTANT: D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW 3
+CONSTANT: D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW 4
+TYPEDEF: int D3D11_TESSELLATOR_OUTPUT_PRIMITIVE
+
+STRUCT: D3D11_SHADER_DESC
+ { Version UINT }
+ { Creator LPCSTR }
+ { Flags UINT }
+ { ConstantBuffers UINT }
+ { BoundResources UINT }
+ { InputParameters UINT }
+ { OutputParameters UINT }
+ { InstructionCount UINT }
+ { TempRegisterCount UINT }
+ { TempArrayCount UINT }
+ { DefCount UINT }
+ { DclCount UINT }
+ { TextureNormalInstructions UINT }
+ { TextureLoadInstructions UINT }
+ { TextureCompInstructions UINT }
+ { TextureBiasInstructions UINT }
+ { TextureGradientInstructions UINT }
+ { FloatInstructionCount UINT }
+ { IntInstructionCount UINT }
+ { UintInstructionCount UINT }
+ { StaticFlowControlCount UINT }
+ { DynamicFlowControlCount UINT }
+ { MacroInstructionCount UINT }
+ { ArrayInstructionCount UINT }
+ { CutInstructionCount UINT }
+ { EmitInstructionCount UINT }
+ { GSOutputTopology D3D10_PRIMITIVE_TOPOLOGY }
+ { GSMaxOutputVertexCount UINT }
+ { InputPrimitive D3D11_PRIMITIVE }
+ { PatchConstantParameters UINT }
+ { cGSInstanceCount UINT }
+ { cControlPoints UINT }
+ { HSOutputPrimitive D3D11_TESSELLATOR_OUTPUT_PRIMITIVE }
+ { HSPartitioning D3D11_TESSELLATOR_PARTITIONING }
+ { TessellatorDomain D3D11_TESSELLATOR_DOMAIN }
+ { cBarrierInstructions UINT }
+ { cInterlockedInstructions UINT }
+ { cTextureStoreInstructions UINT } ;
+
+STRUCT: D3D11_SHADER_INPUT_BIND_DESC
+ { Name LPCSTR }
+ { Type D3D10_SHADER_INPUT_TYPE }
+ { BindPoint UINT }
+ { BindCount UINT }
+ { uFlags UINT }
+ { ReturnType D3D11_RESOURCE_RETURN_TYPE }
+ { Dimension D3D10_SRV_DIMENSION }
+ { NumSamples UINT } ;
+
+COM-INTERFACE: ID3D11ShaderReflectionType f {6E6FFA6A-9BAE-4613-A51E-91652D508C21}
+ HRESULT GetDesc ( D3D11_SHADER_TYPE_DESC* pDesc )
+ ID3D11ShaderReflectionType* GetMemberTypeByIndex ( UINT Index )
+ ID3D11ShaderReflectionType* GetMemberTypeByName ( LPCSTR Name )
+ LPCSTR GetMemberTypeName ( UINT Index )
+ HRESULT IsEqual ( ID3D11ShaderReflectionType* pType )
+ ID3D11ShaderReflectionType* GetSubType ( )
+ ID3D11ShaderReflectionType* GetBaseClass ( )
+ UINT GetNumInterfaces ( )
+ ID3D11ShaderReflectionType* GetInterfaceByIndex ( UINT uIndex )
+ HRESULT IsOfType ( ID3D11ShaderReflectionType* pType )
+ HRESULT ImplementsInterface ( ID3D11ShaderReflectionType* pBase ) ;
+
+COM-INTERFACE: ID3D11ShaderReflectionVariable f {51F23923-F3E5-4BD1-91CB-606177D8DB4C}
+ HRESULT GetDesc ( D3D11_SHADER_VARIABLE_DESC* pDesc )
+ ID3D11ShaderReflectionType* GetType ( )
+ ID3D11ShaderReflectionConstantBuffer* GetBuffer ( )
+ UINT GetInterfaceSlot ( UINT uArrayIndex ) ;
+
+COM-INTERFACE: ID3D11ShaderReflectionConstantBuffer f {EB62D63D-93DD-4318-8AE8-C6F83AD371B8}
+ HRESULT GetDesc ( D3D11_SHADER_BUFFER_DESC* pDesc )
+ ID3D11ShaderReflectionVariable* GetVariableByIndex ( UINT Index )
+ ID3D11ShaderReflectionVariable* GetVariableByName ( LPCSTR Name ) ;
+
+COM-INTERFACE: ID3D11ShaderReflection IUnknown {17F27486-A342-4D10-8842-AB0874E7F670}
+ HRESULT GetDesc ( D3D11_SHADER_DESC* pDesc )
+ ID3D11ShaderReflectionConstantBuffer* GetConstantBufferByIndex ( UINT Index )
+ ID3D11ShaderReflectionConstantBuffer* GetConstantBufferByName ( LPCSTR Name )
+ HRESULT GetResourceBindingDesc ( UINT ResourceIndex, D3D11_SHADER_INPUT_BIND_DESC* pDesc )
+ HRESULT GetInputParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc )
+ HRESULT GetOutputParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc )
+ HRESULT GetPatchConstantParameterDesc ( UINT ParameterIndex, D3D11_SIGNATURE_PARAMETER_DESC* pDesc )
+ ID3D11ShaderReflectionVariable* GetVariableByName ( LPCSTR Name )
+ HRESULT GetResourceBindingDescByName ( LPCSTR Name, D3D11_SHADER_INPUT_BIND_DESC* pDesc )
+ UINT GetMovInstructionCount ( )
+ UINT GetMovcInstructionCount ( )
+ UINT GetConversionInstructionCount ( )
+ UINT GetBitwiseInstructionCount ( )
+ D3D10_PRIMITIVE GetGSInputPrimitive ( )
+ BOOL IsSampleFrequencyShader ( )
+ UINT GetNumInterfaceSlots ( )
+ HRESULT GetMinFeatureLevel ( D3D_FEATURE_LEVEL* pLevel ) ;
--- /dev/null
+Direct3D 11 bindings. Corresponds to D3D11Shader.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax windows.types alien.c-types windows.directx.d3d9types
+windows.com.syntax windows.com windows.directx.d3d9caps windows.ole32
+windows.kernel32 ;
+IN: windows.directx.d3d9
+
+LIBRARY: d3d9
+
+CONSTANT: DIRECT3D_VERSION HEX: 0900
+
+CONSTANT: D3D_SDK_VERSION 32
+CONSTANT: D3D9b_SDK_VERSION 31
+
+C-TYPE: IDirect3D9
+
+FUNCTION: IDirect3D9* Direct3DCreate9 ( UINT SDKVersion ) ;
+
+FUNCTION: int D3DPERF_BeginEvent ( D3DCOLOR col, LPCWSTR wszName ) ;
+FUNCTION: int D3DPERF_EndEvent ( ) ;
+FUNCTION: void D3DPERF_SetMarker ( D3DCOLOR col, LPCWSTR wszName ) ;
+FUNCTION: void D3DPERF_SetRegion ( D3DCOLOR col, LPCWSTR wszName ) ;
+FUNCTION: BOOL D3DPERF_QueryRepeatFrame ( ) ;
+
+FUNCTION: void D3DPERF_SetOptions ( DWORD dwOptions ) ;
+FUNCTION: DWORD D3DPERF_GetStatus ( ) ;
+
+COM-INTERFACE: IDirect3D9 IUnknown {81BDCBCA-64D4-426d-AE8D-AD0147F4275C}
+ HRESULT RegisterSoftwareDevice ( void* pInitializeFunction )
+ UINT GetAdapterCount ( )
+ HRESULT GetAdapterIdentifier ( UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier )
+ UINT GetAdapterModeCount ( UINT Adapter, D3DFORMAT Format )
+ HRESULT EnumAdapterModes ( UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode )
+ HRESULT GetAdapterDisplayMode ( UINT Adapter, D3DDISPLAYMODE* pMode )
+ HRESULT CheckDeviceType ( UINT Adapter, D3DDEVTYPE DevType, D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed )
+ HRESULT CheckDeviceFormat ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat )
+ HRESULT CheckDeviceMultiSampleType ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels )
+ HRESULT CheckDepthStencilMatch ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat )
+ HRESULT CheckDeviceFormatConversion ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat )
+ HRESULT GetDeviceCaps ( UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps )
+ HMONITOR GetAdapterMonitor ( UINT Adapter )
+ HRESULT CreateDevice ( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DDevice9** ppReturnedDeviceInterface ) ;
+
+TYPEDEF: IDirect3D9* LPDIRECT3D9
+TYPEDEF: IDirect3D9* PDIRECT3D9
+
+C-TYPE: IDirect3DSurface9
+C-TYPE: RGNDATA
+C-TYPE: IDirect3DBaseTexture9
+C-TYPE: PALETTEENTRY
+C-TYPE: IDirect3DVertexBuffer9
+C-TYPE: IDirect3DVertexDeclaration9
+C-TYPE: IDirect3DVertexShader9
+C-TYPE: IDirect3DIndexBuffer9
+C-TYPE: IDirect3DPixelShader9
+
+COM-INTERFACE: IDirect3DDevice9 IUnknown {D0223B96-BF7A-43fd-92BD-A43B0D82B9EB}
+ HRESULT TestCooperativeLevel ( )
+ UINT GetAvailableTextureMem ( )
+ HRESULT EvictManagedResources ( )
+ HRESULT GetDirect3D ( IDirect3D9** ppD3D9 )
+ HRESULT GetDeviceCaps ( D3DCAPS9* pCaps )
+ HRESULT GetDisplayMode ( UINT iSwapChain, D3DDISPLAYMODE* pMode )
+ HRESULT GetCreationParameters ( D3DDEVICE_CREATION_PARAMETERS *pParameters )
+ HRESULT SetCursorProperties ( UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap )
+ void SetCursorPosition ( int X, int Y, DWORD Flags )
+ BOOL ShowCursor ( BOOL bShow )
+ HRESULT CreateAdditionalSwapChain ( D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain )
+ HRESULT GetSwapChain ( UINT iSwapChain, IDirect3DSwapChain9** pSwapChain )
+ UINT GetNumberOfSwapChains ( )
+ HRESULT Reset ( D3DPRESENT_PARAMETERS* pPresentationParameters )
+ HRESULT Present ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion )
+ HRESULT GetBackBuffer ( UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer )
+ HRESULT GetRasterStatus ( UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus )
+ HRESULT SetDialogBoxMode ( BOOL bEnableDialogs )
+ void SetGammaRamp ( UINT iSwapChain, DWORD Flags, D3DGAMMARAMP* pRamp )
+ void GetGammaRamp ( UINT iSwapChain, D3DGAMMARAMP* pRamp )
+ HRESULT CreateTexture ( UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle )
+ HRESULT CreateVolumeTexture ( UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle )
+ HRESULT CreateCubeTexture ( UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle )
+ HRESULT CreateVertexBuffer ( UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle )
+ HRESULT CreateIndexBuffer ( UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle )
+ HRESULT CreateRenderTarget ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle )
+ HRESULT CreateDepthStencilSurface ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle )
+ HRESULT UpdateSurface ( IDirect3DSurface9* pSourceSurface, RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, POINT* pDestPoint )
+ HRESULT UpdateTexture ( IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture )
+ HRESULT GetRenderTargetData ( IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface )
+ HRESULT GetFrontBufferData ( UINT iSwapChain, IDirect3DSurface9* pDestSurface )
+ HRESULT StretchRect ( IDirect3DSurface9* pSourceSurface, RECT* pSourceRect, IDirect3DSurface9* pDestSurface, RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter )
+ HRESULT ColorFill ( IDirect3DSurface9* pSurface, RECT* pRect, D3DCOLOR color )
+ HRESULT CreateOffscreenPlainSurface ( UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle )
+ HRESULT SetRenderTarget ( DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget )
+ HRESULT GetRenderTarget ( DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget )
+ HRESULT SetDepthStencilSurface ( IDirect3DSurface9* pNewZStencil )
+ HRESULT GetDepthStencilSurface ( IDirect3DSurface9** ppZStencilSurface )
+ HRESULT BeginScene ( )
+ HRESULT EndScene ( )
+ HRESULT Clear ( DWORD Count, D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil )
+ HRESULT SetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix )
+ HRESULT GetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix )
+ HRESULT MultiplyTransform ( D3DTRANSFORMSTATETYPE, D3DMATRIX* )
+ HRESULT SetViewport ( D3DVIEWPORT9* pViewport )
+ HRESULT GetViewport ( D3DVIEWPORT9* pViewport )
+ HRESULT SetMaterial ( D3DMATERIAL9* pMaterial )
+ HRESULT GetMaterial ( D3DMATERIAL9* pMaterial )
+ HRESULT SetLight ( DWORD Index, D3DLIGHT9* l )
+ HRESULT GetLight ( DWORD Index, D3DLIGHT9* l )
+ HRESULT LightEnable ( DWORD Index, BOOL Enable )
+ HRESULT GetLightEnable ( DWORD Index, BOOL* pEnable )
+ HRESULT SetClipPlane ( DWORD Index, float* pPlane )
+ HRESULT GetClipPlane ( DWORD Index, float* pPlane )
+ HRESULT SetRenderState ( D3DRENDERSTATETYPE State, DWORD Value )
+ HRESULT GetRenderState ( D3DRENDERSTATETYPE State, DWORD* pValue )
+ HRESULT CreateStateBlock ( D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB )
+ HRESULT BeginStateBlock ( )
+ HRESULT EndStateBlock ( IDirect3DStateBlock9** ppSB )
+ HRESULT SetClipStatus ( D3DCLIPSTATUS9* pClipStatus )
+ HRESULT GetClipStatus ( D3DCLIPSTATUS9* pClipStatus )
+ HRESULT GetTexture ( DWORD Stage, IDirect3DBaseTexture9** ppTexture )
+ HRESULT SetTexture ( DWORD Stage, IDirect3DBaseTexture9* pTexture )
+ HRESULT GetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue )
+ HRESULT SetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value )
+ HRESULT GetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue )
+ HRESULT SetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value )
+ HRESULT ValidateDevice ( DWORD* pNumPasses )
+ HRESULT SetPaletteEntries ( UINT PaletteNumber, PALETTEENTRY* pEntries )
+ HRESULT GetPaletteEntries ( UINT PaletteNumber, PALETTEENTRY* pEntries )
+ HRESULT SetCurrentTexturePalette ( UINT PaletteNumber )
+ HRESULT GetCurrentTexturePalette ( UINT *PaletteNumber )
+ HRESULT SetScissorRect ( RECT* pRect )
+ HRESULT GetScissorRect ( RECT* pRect )
+ HRESULT SetSoftwareVertexProcessing ( BOOL bSoftware )
+ BOOL GetSoftwareVertexProcessing ( )
+ HRESULT SetNPatchMode ( float nSegments )
+ float GetNPatchMode ( )
+ HRESULT DrawPrimitive ( D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount )
+ HRESULT DrawIndexedPrimitive ( D3DPRIMITIVETYPE x, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount )
+ HRESULT DrawPrimitiveUP ( D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, void* pVertexStreamZeroData, UINT VertexStreamZeroStride )
+ HRESULT DrawIndexedPrimitiveUP ( D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, void* pIndexData, D3DFORMAT IndexDataFormat, void* pVertexStreamZeroData, UINT VertexStreamZeroStride )
+ HRESULT ProcessVertices ( UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags )
+ HRESULT CreateVertexDeclaration ( D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl )
+ HRESULT SetVertexDeclaration ( IDirect3DVertexDeclaration9* pDecl )
+ HRESULT GetVertexDeclaration ( IDirect3DVertexDeclaration9** ppDecl )
+ HRESULT SetFVF ( DWORD FVF )
+ HRESULT GetFVF ( DWORD* pFVF )
+ HRESULT CreateVertexShader ( DWORD* pFunction, IDirect3DVertexShader9** ppShader )
+ HRESULT SetVertexShader ( IDirect3DVertexShader9* pShader )
+ HRESULT GetVertexShader ( IDirect3DVertexShader9** ppShader )
+ HRESULT SetVertexShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount )
+ HRESULT GetVertexShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount )
+ HRESULT SetVertexShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount )
+ HRESULT GetVertexShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount )
+ HRESULT SetVertexShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount )
+ HRESULT GetVertexShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount )
+ HRESULT SetStreamSource ( UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride )
+ HRESULT GetStreamSource ( UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* pOffsetInBytes, UINT* pStride )
+ HRESULT SetStreamSourceFreq ( UINT StreamNumber, UINT Setting )
+ HRESULT GetStreamSourceFreq ( UINT StreamNumber, UINT* pSetting )
+ HRESULT SetIndices ( IDirect3DIndexBuffer9* pIndexData )
+ HRESULT GetIndices ( IDirect3DIndexBuffer9** ppIndexData )
+ HRESULT CreatePixelShader ( DWORD* pFunction, IDirect3DPixelShader9** ppShader )
+ HRESULT SetPixelShader ( IDirect3DPixelShader9* pShader )
+ HRESULT GetPixelShader ( IDirect3DPixelShader9** ppShader )
+ HRESULT SetPixelShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount )
+ HRESULT GetPixelShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount )
+ HRESULT SetPixelShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount )
+ HRESULT GetPixelShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount )
+ HRESULT SetPixelShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount )
+ HRESULT GetPixelShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount )
+ HRESULT DrawRectPatch ( UINT Handle, float* pNumSegs, D3DRECTPATCH_INFO* pRectPatchInfo )
+ HRESULT DrawTriPatch ( UINT Handle, float* pNumSegs, D3DTRIPATCH_INFO* pTriPatchInfo )
+ HRESULT DeletePatch ( UINT Handle )
+ HRESULT CreateQuery ( D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery ) ;
+
+TYPEDEF: IDirect3DDevice9* LPDIRECT3DDEVICE9
+TYPEDEF: IDirect3DDevice9* PDIRECT3DDEVICE9
+
+COM-INTERFACE: IDirect3DStateBlock9 IUnknown {B07C4FE5-310D-4ba8-A23C-4F0F206F218B}
+ HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
+ HRESULT Capture ( )
+ HRESULT Apply ( ) ;
+
+COM-INTERFACE: IDirect3DSwapChain9 IUnknown {794950F2-ADFC-458a-905E-10A10B0B503B}
+ HRESULT Present ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion, DWORD dwFlags )
+ HRESULT GetFrontBufferData ( IDirect3DSurface9* pDestSurface )
+ HRESULT GetBackBuffer ( UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer )
+ HRESULT GetRasterStatus ( D3DRASTER_STATUS* pRasterStatus )
+ HRESULT GetDisplayMode ( D3DDISPLAYMODE* pMode )
+ HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
+ HRESULT GetPresentParameters ( D3DPRESENT_PARAMETERS* pPresentationParameters ) ;
+
+TYPEDEF: IDirect3DSwapChain9* LPDIRECT3DSWAPCHAIN9
+TYPEDEF: IDirect3DSwapChain9* PDIRECT3DSWAPCHAIN9
+
+COM-INTERFACE: IDirect3DResource9 IUnknown {05EEC05D-8F7D-4362-B999-D1BAF357C704}
+ HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
+ HRESULT SetPrivateData ( REFGUID refguid, void* pData, DWORD SizeOfData, DWORD Flags )
+ HRESULT GetPrivateData ( REFGUID refguid, void* pData, DWORD* pSizeOfData )
+ HRESULT FreePrivateData ( REFGUID refguid )
+ DWORD SetPriority ( DWORD PriorityNew )
+ DWORD GetPriority ( )
+ void PreLoad ( )
+ D3DRESOURCETYPE GetType ( ) ;
+
+TYPEDEF: IDirect3DResource9* LPDIRECT3DRESOURCE9
+TYPEDEF: IDirect3DResource9* PDIRECT3DRESOURCE9
+
+COM-INTERFACE: IDirect3DVertexDeclaration9 IUnknown {DD13C59C-36FA-4098-A8FB-C7ED39DC8546}
+ HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
+ HRESULT GetDeclaration ( D3DVERTEXELEMENT9* pElement, UINT* pNumElements ) ;
+
+TYPEDEF: IDirect3DVertexDeclaration9* LPDIRECT3DVERTEXDECLARATION9
+TYPEDEF: IDirect3DVertexDeclaration9* PDIRECT3DVERTEXDECLARATION9
+
+COM-INTERFACE: IDirect3DVertexShader9 IUnknown {EFC5557E-6265-4613-8A94-43857889EB36}
+ HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
+ HRESULT GetFunction ( void* x, UINT* pSizeOfData ) ;
+
+TYPEDEF: IDirect3DVertexShader9* LPDIRECT3DVERTEXSHADER9
+TYPEDEF: IDirect3DVertexShader9* PDIRECT3DVERTEXSHADER9
+
+COM-INTERFACE: IDirect3DPixelShader9 IUnknown {6D3BDBDC-5B02-4415-B852-CE5E8BCCB289}
+ HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
+ HRESULT GetFunction ( void* x, UINT* pSizeOfData ) ;
+
+TYPEDEF: IDirect3DPixelShader9* LPDIRECT3DPIXELSHADER9
+TYPEDEF: IDirect3DPixelShader9* PDIRECT3DPIXELSHADER9
+
+COM-INTERFACE: IDirect3DBaseTexture9 IDirect3DResource9 {580CA87E-1D3C-4d54-991D-B7D3E3C298CE}
+ DWORD SetLOD ( DWORD LODNew )
+ DWORD GetLOD ( )
+ DWORD GetLevelCount ( )
+ HRESULT SetAutoGenFilterType ( D3DTEXTUREFILTERTYPE FilterType )
+ D3DTEXTUREFILTERTYPE GetAutoGenFilterType ( )
+ void GenerateMipSubLevels ( ) ;
+
+TYPEDEF: IDirect3DBaseTexture9* LPDIRECT3DBASETEXTURE9
+TYPEDEF: IDirect3DBaseTexture9* PDIRECT3DBASETEXTURE9
+
+COM-INTERFACE: IDirect3DTexture9 IDirect3DBaseTexture9 {85C31227-3DE5-4f00-9B3A-F11AC38C18B5}
+ HRESULT GetLevelDesc ( UINT Level, D3DSURFACE_DESC* pDesc )
+ HRESULT GetSurfaceLevel ( UINT Level, IDirect3DSurface9** ppSurfaceLevel )
+ HRESULT LockRect ( UINT Level, D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags )
+ HRESULT UnlockRect ( UINT Level ) ;
+
+TYPEDEF: IDirect3DTexture9* LPDIRECT3DTEXTURE9
+TYPEDEF: IDirect3DTexture9* PDIRECT3DTEXTURE9
+
+COM-INTERFACE: IDirect3DVolumeTexture9 IDirect3DBaseTexture9 {2518526C-E789-4111-A7B9-47EF328D13E6}
+ HRESULT GetLevelDesc ( UINT Level, D3DVOLUME_DESC* pDesc )
+ HRESULT GetVolumeLevel ( UINT Level, IDirect3DVolume9** ppVolumeLevel )
+ HRESULT LockBox ( UINT Level, D3DLOCKED_BOX* pLockedVolume, D3DBOX* pBox, DWORD Flags )
+ HRESULT UnlockBox ( UINT Level )
+ HRESULT AddDirtyBox ( D3DBOX* pDirtyBox ) ;
+
+TYPEDEF: IDirect3DVolumeTexture9* LPDIRECT3DVOLUMETEXTURE9
+TYPEDEF: IDirect3DVolumeTexture9* PDIRECT3DVOLUMETEXTURE9
+
+COM-INTERFACE: IDirect3DCubeTexture9 IDirect3DBaseTexture9 {FFF32F81-D953-473a-9223-93D652ABA93F}
+ HRESULT GetLevelDesc ( UINT Level, D3DSURFACE_DESC* pDesc )
+ HRESULT GetCubeMapSurface ( D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface )
+ HRESULT LockRect ( D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags )
+ HRESULT UnlockRect ( D3DCUBEMAP_FACES FaceType, UINT Level )
+ HRESULT AddDirtyRect ( D3DCUBEMAP_FACES FaceType, RECT* pDirtyRect ) ;
+
+TYPEDEF: IDirect3DCubeTexture9* LPDIRECT3DCUBETEXTURE9
+TYPEDEF: IDirect3DCubeTexture9* PDIRECT3DCUBETEXTURE9
+
+COM-INTERFACE: IDirect3DVertexBuffer9 IDirect3DResource9 {B64BB1B5-FD70-4df6-BF91-19D0A12455E3}
+ HRESULT Lock ( UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags )
+ HRESULT Unlock ( )
+ HRESULT GetDesc ( D3DVERTEXBUFFER_DESC* pDesc ) ;
+
+TYPEDEF: IDirect3DVertexBuffer9* LPDIRECT3DVERTEXBUFFER9
+TYPEDEF: IDirect3DVertexBuffer9* PDIRECT3DVERTEXBUFFER9
+
+COM-INTERFACE: IDirect3DIndexBuffer9 IDirect3DResource9 {7C9DD65E-D3F7-4529-ACEE-785830ACDE35}
+ HRESULT Lock ( UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags )
+ HRESULT Unlock ( )
+ HRESULT GetDesc ( D3DINDEXBUFFER_DESC* pDesc ) ;
+
+TYPEDEF: IDirect3DIndexBuffer9* LPDIRECT3DINDEXBUFFER9
+TYPEDEF: IDirect3DIndexBuffer9* PDIRECT3DINDEXBUFFER9
+
+COM-INTERFACE: IDirect3DSurface9 IDirect3DResource9 {0CFBAF3A-9FF6-429a-99B3-A2796AF8B89B}
+ HRESULT GetContainer ( REFIID riid, void** ppContainer )
+ HRESULT GetDesc ( D3DSURFACE_DESC* pDesc )
+ HRESULT LockRect ( D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags )
+ HRESULT UnlockRect ( )
+ HRESULT GetDC ( HDC* phdc )
+ HRESULT ReleaseDC ( HDC hdc ) ;
+
+TYPEDEF: IDirect3DSurface9* LPDIRECT3DSURFACE9
+TYPEDEF: IDirect3DSurface9* PDIRECT3DSURFACE9
+
+COM-INTERFACE: IDirect3DVolume9 IUnknown {24F416E6-1F67-4aa7-B88E-D33F6F3128A1}
+ HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
+ HRESULT SetPrivateData ( REFGUID refguid, void* pData, DWORD SizeOfData, DWORD Flags )
+ HRESULT GetPrivateData ( REFGUID refguid, void* pData, DWORD* pSizeOfData )
+ HRESULT FreePrivateData ( REFGUID refguid )
+ HRESULT GetContainer ( REFIID riid, void** ppContainer )
+ HRESULT GetDesc ( D3DVOLUME_DESC *pDesc )
+ HRESULT LockBox ( D3DLOCKED_BOX* pLockedVolume, D3DBOX* pBox, DWORD Flags )
+ HRESULT UnlockBox ( ) ;
+
+TYPEDEF: IDirect3DVolume9* LPDIRECT3DVOLUME9
+TYPEDEF: IDirect3DVolume9* PDIRECT3DVOLUME9
+
+COM-INTERFACE: IDirect3DQuery9 IUnknown {d9771460-a695-4f26-bbd3-27b840b541cc}
+ HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
+ D3DQUERYTYPE GetType ( )
+ DWORD GetDataSize ( )
+ HRESULT Issue ( DWORD dwIssueFlags )
+ HRESULT GetData ( void* pData, DWORD dwSize, DWORD dwGetDataFlags ) ;
+
+TYPEDEF: IDirect3DQuery9* LPDIRECT3DQUERY9
+TYPEDEF: IDirect3DQuery9* PDIRECT3DQUERY9
+
+CONSTANT: D3DSPD_IUNKNOWN HEX: 00000001
+
+CONSTANT: D3DCREATE_FPU_PRESERVE HEX: 00000002
+CONSTANT: D3DCREATE_MULTITHREADED HEX: 00000004
+
+CONSTANT: D3DCREATE_PUREDEVICE HEX: 00000010
+CONSTANT: D3DCREATE_SOFTWARE_VERTEXPROCESSING HEX: 00000020
+CONSTANT: D3DCREATE_HARDWARE_VERTEXPROCESSING HEX: 00000040
+CONSTANT: D3DCREATE_MIXED_VERTEXPROCESSING HEX: 00000080
+
+CONSTANT: D3DCREATE_DISABLE_DRIVER_MANAGEMENT HEX: 00000100
+CONSTANT: D3DCREATE_ADAPTERGROUP_DEVICE HEX: 00000200
+CONSTANT: D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX HEX: 00000400
+
+CONSTANT: D3DCREATE_NOWINDOWCHANGES HEX: 00000800
+
+CONSTANT: D3DCREATE_DISABLE_PSGP_THREADING HEX: 00002000
+CONSTANT: D3DCREATE_ENABLE_PRESENTSTATS HEX: 00004000
+CONSTANT: D3DCREATE_DISABLE_PRINTSCREEN HEX: 00008000
+CONSTANT: D3DCREATE_SCREENSAVER HEX: 10000000
+
+CONSTANT: D3DADAPTER_DEFAULT 0
+CONSTANT: D3DENUM_WHQL_LEVEL 2
+CONSTANT: D3DENUM_NO_DRIVERVERSION 4
+CONSTANT: D3DPRESENT_BACK_BUFFERS_MAX 3
+CONSTANT: D3DPRESENT_BACK_BUFFERS_MAX_EX 30
+
+CONSTANT: D3DSGR_NO_CALIBRATION HEX: 00000000
+CONSTANT: D3DSGR_CALIBRATE HEX: 00000001
+
+CONSTANT: D3DCURSOR_IMMEDIATE_UPDATE HEX: 00000001
+
+CONSTANT: D3DPRESENT_DONOTWAIT HEX: 00000001
+CONSTANT: D3DPRESENT_LINEAR_CONTENT HEX: 00000002
+
+CONSTANT: D3DPRESENT_DONOTFLIP HEX: 00000004
+CONSTANT: D3DPRESENT_FLIPRESTART HEX: 00000008
+CONSTANT: D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR HEX: 00000010
+CONSTANT: D3DPRESENT_UPDATEOVERLAYONLY HEX: 00000020
+CONSTANT: D3DPRESENT_HIDEOVERLAY HEX: 00000040
+CONSTANT: D3DPRESENT_UPDATECOLORKEY HEX: 00000080
+CONSTANT: D3DPRESENT_FORCEIMMEDIATE HEX: 00000100
+
+: D3D_OK ( -- n ) S_OK ; inline
+
+CONSTANT: D3DERR_WRONGTEXTUREFORMAT HEX: 88760818
+CONSTANT: D3DERR_UNSUPPORTEDCOLOROPERATION HEX: 88760819
+CONSTANT: D3DERR_UNSUPPORTEDCOLORARG HEX: 8876081A
+CONSTANT: D3DERR_UNSUPPORTEDALPHAOPERATION HEX: 8876081B
+CONSTANT: D3DERR_UNSUPPORTEDALPHAARG HEX: 8876081C
+CONSTANT: D3DERR_TOOMANYOPERATIONS HEX: 8876081D
+CONSTANT: D3DERR_CONFLICTINGTEXTUREFILTER HEX: 8876081E
+CONSTANT: D3DERR_UNSUPPORTEDFACTORVALUE HEX: 8876081F
+CONSTANT: D3DERR_CONFLICTINGRENDERSTATE HEX: 88760820
+CONSTANT: D3DERR_UNSUPPORTEDTEXTUREFILTER HEX: 88760821
+CONSTANT: D3DERR_CONFLICTINGTEXTUREPALETTE HEX: 88760825
+CONSTANT: D3DERR_DRIVERINTERNALERROR HEX: 88760826
+CONSTANT: D3DERR_NOTFOUND HEX: 88760866
+CONSTANT: D3DERR_MOREDATA HEX: 88760867
+CONSTANT: D3DERR_DEVICELOST HEX: 88760868
+CONSTANT: D3DERR_DEVICENOTRESET HEX: 88760869
+CONSTANT: D3DERR_NOTAVAILABLE HEX: 8876086A
+CONSTANT: D3DERR_OUTOFVIDEOMEMORY HEX: 8876017C
+CONSTANT: D3DERR_INVALIDDEVICE HEX: 8876086B
+CONSTANT: D3DERR_INVALIDCALL HEX: 8876086C
+CONSTANT: D3DERR_DRIVERINVALIDCALL HEX: 8876086D
+CONSTANT: D3DERR_WASSTILLDRAWING HEX: 8876021C
+CONSTANT: D3DOK_NOAUTOGEN HEX: 0876086F
+CONSTANT: D3DERR_DEVICEREMOVED HEX: 88760870
+CONSTANT: S_NOT_RESIDENT HEX: 08760875
+CONSTANT: S_RESIDENT_IN_SHARED_MEMORY HEX: 08760876
+CONSTANT: S_PRESENT_MODE_CHANGED HEX: 08760877
+CONSTANT: S_PRESENT_OCCLUDED HEX: 08760878
+CONSTANT: D3DERR_DEVICEHUNG HEX: 88760874
+CONSTANT: D3DERR_UNSUPPORTEDOVERLAY HEX: 8876087C
+CONSTANT: D3DERR_UNSUPPORTEDOVERLAYFORMAT HEX: 8876087D
+CONSTANT: D3DERR_CANNOTPROTECTCONTENT HEX: 8876087E
+CONSTANT: D3DERR_UNSUPPORTEDCRYPTO HEX: 8876087F
+CONSTANT: D3DERR_PRESENT_STATISTICS_DISJOINT HEX: 88760884
+
+FUNCTION: HRESULT Direct3DCreate9Ex ( UINT SDKVersion, IDirect3D9Ex** out ) ;
+
+COM-INTERFACE: IDirect3D9Ex IDirect3D9 {02177241-69FC-400C-8FF1-93A44DF6861D}
+ UINT GetAdapterModeCountEx ( UINT Adapter, D3DDISPLAYMODEFILTER* pFilter )
+ HRESULT EnumAdapterModesEx ( UINT Adapter, D3DDISPLAYMODEFILTER* pFilter, UINT Mode, D3DDISPLAYMODEEX* pMode )
+ HRESULT GetAdapterDisplayModeEx ( UINT Adapter, D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation )
+ HRESULT CreateDeviceEx ( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode, IDirect3DDevice9Ex** ppReturnedDeviceInterface )
+ HRESULT GetAdapterLUID ( UINT Adapter, LUID* pLUID ) ;
+
+TYPEDEF: IDirect3D9Ex* LPDIRECT3D9EX
+TYPEDEF: IDirect3D9Ex* PDIRECT3D9EX
+
+COM-INTERFACE: IDirect3DDevice9Ex IDirect3DDevice9 {B18B10CE-2649-405a-870F-95F777D4313A}
+ HRESULT SetConvolutionMonoKernel ( UINT width, UINT height, float* rows, float* columns )
+ HRESULT ComposeRects ( IDirect3DSurface9* pSrc, IDirect3DSurface9* pDst, IDirect3DVertexBuffer9* pSrcRectDescs, UINT NumRects, IDirect3DVertexBuffer9* pDstRectDescs, D3DCOMPOSERECTSOP Operation, int Xoffset, int Yoffset )
+ HRESULT PresentEx ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion, DWORD dwFlags )
+ HRESULT GetGPUThreadPriority ( INT* pPriority )
+ HRESULT SetGPUThreadPriority ( INT Priority )
+ HRESULT WaitForVBlank ( UINT iSwapChain )
+ HRESULT CheckResourceResidency ( IDirect3DResource9** pResourceArray, UINT32 NumResources )
+ HRESULT SetMaximumFrameLatency ( UINT MaxLatency )
+ HRESULT GetMaximumFrameLatency ( UINT* pMaxLatency )
+ HRESULT CheckDeviceState ( HWND hDestinationWindow )
+ HRESULT CreateRenderTargetEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage )
+ HRESULT CreateOffscreenPlainSurfaceEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage )
+ HRESULT CreateDepthStencilSurfaceEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage )
+ HRESULT ResetEx ( D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX *pFullscreenDisplayMode )
+ HRESULT GetDisplayModeEx ( UINT iSwapChain, D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation ) ;
+
+TYPEDEF: IDirect3DDevice9Ex* LPDIRECT3DDEVICE9EX
+TYPEDEF: IDirect3DDevice9Ex* PDIRECT3DDEVICE9EX
+
+COM-INTERFACE: IDirect3DSwapChain9Ex IDirect3DSwapChain9 {91886CAF-1C3D-4d2e-A0AB-3E4C7D8D3303}
+ HRESULT GetLastPresentCount ( UINT* pLastPresentCount )
+ HRESULT GetPresentStats ( D3DPRESENTSTATS* pPresentationStatistics )
+ HRESULT GetDisplayModeEx ( D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation ) ;
+
+TYPEDEF: IDirect3DSwapChain9Ex* LPDIRECT3DSWAPCHAIN9EX
+TYPEDEF: IDirect3DSwapChain9Ex* PDIRECT3DSWAPCHAIN9EX
+
+COM-INTERFACE: IDirect3D9ExOverlayExtension IUnknown {187aeb13-aaf5-4c59-876d-e059088c0df8}
+ HRESULT CheckDeviceOverlayType ( UINT Adapter, D3DDEVTYPE DevType, UINT OverlayWidth, UINT OverlayHeight, D3DFORMAT OverlayFormat, D3DDISPLAYMODEEX* pDisplayMode, D3DDISPLAYROTATION DisplayRotation, D3DOVERLAYCAPS* pOverlayCaps ) ;
+
+TYPEDEF: IDirect3D9ExOverlayExtension* LPDIRECT3D9EXOVERLAYEXTENSION
+TYPEDEF: IDirect3D9ExOverlayExtension* PDIRECT3D9EXOVERLAYEXTENSION
+
+COM-INTERFACE: IDirect3DDevice9Video IUnknown {26DC4561-A1EE-4ae7-96DA-118A36C0EC95}
+ HRESULT GetContentProtectionCaps ( GUID* pCryptoType, GUID* pDecodeProfile, D3DCONTENTPROTECTIONCAPS* pCaps )
+ HRESULT CreateAuthenticatedChannel ( D3DAUTHENTICATEDCHANNELTYPE ChannelType, IDirect3DAuthenticatedChannel9** ppAuthenticatedChannel, HANDLE* pChannelHandle )
+ HRESULT CreateCryptoSession ( GUID* pCryptoType, GUID* pDecodeProfile, IDirect3DCryptoSession9** ppCryptoSession, HANDLE* pCryptoHandle ) ;
+
+TYPEDEF: IDirect3DDevice9Video* LPDIRECT3DDEVICE9VIDEO
+TYPEDEF: IDirect3DDevice9Video* PDIRECT3DDEVICE9VIDEO
+
+COM-INTERFACE: IDirect3DAuthenticatedChannel9 IUnknown {FF24BEEE-DA21-4beb-98B5-D2F899F98AF9}
+ HRESULT GetCertificateSize ( UINT* pCertificateSize )
+ HRESULT GetCertificate ( UINT CertifacteSize, BYTE* ppCertificate )
+ HRESULT NegotiateKeyExchange ( UINT DataSize, VOID* pData )
+ HRESULT Query ( UINT InputSize, VOID* pInput, UINT OutputSize, VOID* pOutput )
+ HRESULT Configure ( UINT InputSize, VOID* pInput, D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT* pOutput ) ;
+
+TYPEDEF: IDirect3DAuthenticatedChannel9* LPDIRECT3DAUTHENTICATEDCHANNEL9
+TYPEDEF: IDirect3DAuthenticatedChannel9* PDIRECT3DAUTHENTICATEDCHANNEL9
+
+COM-INTERFACE: IDirect3DCryptoSession9 IUnknown {FA0AB799-7A9C-48ca-8C5B-237E71A54434}
+ HRESULT GetCertificateSize ( UINT* pCertificateSize )
+ HRESULT GetCertificate ( UINT CertifacteSize, BYTE* ppCertificate )
+ HRESULT NegotiateKeyExchange ( UINT DataSize, VOID* pData )
+ HRESULT EncryptionBlt ( IDirect3DSurface9* pSrcSurface, IDirect3DSurface9* pDstSurface, UINT DstSurfaceSize, VOID* pIV )
+ HRESULT DecryptionBlt ( IDirect3DSurface9* pSrcSurface, IDirect3DSurface9* pDstSurface, UINT SrcSurfaceSize, D3DENCRYPTED_BLOCK_INFO* pEncryptedBlockInfo, VOID* pContentKey, VOID* pIV )
+ HRESULT GetSurfacePitch ( IDirect3DSurface9* pSrcSurface, UINT* pSurfacePitch )
+ HRESULT StartSessionKeyRefresh ( VOID* pRandomNumber, UINT RandomNumberSize )
+ HRESULT FinishSessionKeyRefresh ( )
+ HRESULT GetEncryptionBltKey ( VOID* pReadbackKey, UINT KeySize ) ;
+
+TYPEDEF: IDirect3DCryptoSession9* LPDIRECT3DCRYPTOSESSION9
+TYPEDEF: IDirect3DCryptoSession9* PDIRECT3DCRYPTOSESSION9
--- /dev/null
+DirectX 9 bindings. Corresponds to d3d9.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: classes.struct windows.types windows.kernel32
+windows.directx.d3d9types alien.c-types ;
+IN: windows.directx.d3d9caps
+
+STRUCT: D3DVSHADERCAPS2_0
+ { Caps DWORD }
+ { DynamicFlowControlDepth INT }
+ { NumTemps INT }
+ { StaticFlowControlDepth INT } ;
+
+CONSTANT: D3DVS20CAPS_PREDICATION 1
+
+CONSTANT: D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
+CONSTANT: D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
+CONSTANT: D3DVS20_MAX_NUMTEMPS 32
+CONSTANT: D3DVS20_MIN_NUMTEMPS 12
+CONSTANT: D3DVS20_MAX_STATICFLOWCONTROLDEPTH 4
+CONSTANT: D3DVS20_MIN_STATICFLOWCONTROLDEPTH 1
+
+STRUCT: D3DPSHADERCAPS2_0
+ { Caps DWORD }
+ { DynamicFlowControlDepth INT }
+ { NumTemps INT }
+ { StaticFlowControlDepth INT }
+ { NumInstructionSlots INT } ;
+
+CONSTANT: D3DPS20CAPS_ARBITRARYSWIZZLE 1
+CONSTANT: D3DPS20CAPS_GRADIENTINSTRUCTIONS 2
+CONSTANT: D3DPS20CAPS_PREDICATION 4
+CONSTANT: D3DPS20CAPS_NODEPENDENTREADLIMIT 8
+CONSTANT: D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT 16
+
+CONSTANT: D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
+CONSTANT: D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
+CONSTANT: D3DPS20_MAX_NUMTEMPS 32
+CONSTANT: D3DPS20_MIN_NUMTEMPS 12
+CONSTANT: D3DPS20_MAX_STATICFLOWCONTROLDEPTH 4
+CONSTANT: D3DPS20_MIN_STATICFLOWCONTROLDEPTH 0
+CONSTANT: D3DPS20_MAX_NUMINSTRUCTIONSLOTS 512
+CONSTANT: D3DPS20_MIN_NUMINSTRUCTIONSLOTS 96
+
+CONSTANT: D3DMIN30SHADERINSTRUCTIONS 512
+CONSTANT: D3DMAX30SHADERINSTRUCTIONS 32768
+
+STRUCT: D3DOVERLAYCAPS
+ { Caps UINT }
+ { MaxOverlayDisplayWidth UINT }
+ { MaxOverlayDisplayHeight UINT } ;
+
+CONSTANT: D3DOVERLAYCAPS_FULLRANGERGB HEX: 00000001
+CONSTANT: D3DOVERLAYCAPS_LIMITEDRANGERGB HEX: 00000002
+CONSTANT: D3DOVERLAYCAPS_YCbCr_BT601 HEX: 00000004
+CONSTANT: D3DOVERLAYCAPS_YCbCr_BT709 HEX: 00000008
+CONSTANT: D3DOVERLAYCAPS_YCbCr_BT601_xvYCC HEX: 00000010
+CONSTANT: D3DOVERLAYCAPS_YCbCr_BT709_xvYCC HEX: 00000020
+CONSTANT: D3DOVERLAYCAPS_STRETCHX HEX: 00000040
+CONSTANT: D3DOVERLAYCAPS_STRETCHY HEX: 00000080
+
+
+STRUCT: D3DCONTENTPROTECTIONCAPS
+ { Caps DWORD }
+ { KeyExchangeType GUID }
+ { BufferAlignmentStart UINT }
+ { BlockAlignmentSize UINT }
+ { ProtectedMemorySize ULONGLONG } ;
+
+CONSTANT: D3DCPCAPS_SOFTWARE HEX: 00000001
+CONSTANT: D3DCPCAPS_HARDWARE HEX: 00000002
+CONSTANT: D3DCPCAPS_PROTECTIONALWAYSON HEX: 00000004
+CONSTANT: D3DCPCAPS_PARTIALDECRYPTION HEX: 00000008
+CONSTANT: D3DCPCAPS_CONTENTKEY HEX: 00000010
+CONSTANT: D3DCPCAPS_FRESHENSESSIONKEY HEX: 00000020
+CONSTANT: D3DCPCAPS_ENCRYPTEDREADBACK HEX: 00000040
+CONSTANT: D3DCPCAPS_ENCRYPTEDREADBACKKEY HEX: 00000080
+CONSTANT: D3DCPCAPS_SEQUENTIAL_CTR_IV HEX: 00000100
+CONSTANT: D3DCPCAPS_ENCRYPTSLICEDATAONLY HEX: 00000200
+
+STRUCT: D3DCAPS9
+ { DeviceType D3DDEVTYPE }
+ { AdapterOrdinal UINT }
+ { Caps DWORD }
+ { Caps2 DWORD }
+ { Caps3 DWORD }
+ { PresentationIntervals DWORD }
+ { CursorCaps DWORD }
+ { DevCaps DWORD }
+ { PrimitiveMiscCaps DWORD }
+ { RasterCaps DWORD }
+ { ZCmpCaps DWORD }
+ { SrcBlendCaps DWORD }
+ { DestBlendCaps DWORD }
+ { AlphaCmpCaps DWORD }
+ { ShadeCaps DWORD }
+ { TextureCaps DWORD }
+ { TextureFilterCaps DWORD }
+ { CubeTextureFilterCaps DWORD }
+ { VolumeTextureFilterCaps DWORD }
+ { TextureAddressCaps DWORD }
+ { VolumeTextureAddressCaps DWORD }
+ { LineCaps DWORD }
+ { MaxTextureWidth DWORD }
+ { MaxTextureHeight DWORD }
+ { MaxVolumeExtent DWORD }
+ { MaxTextureRepeat DWORD }
+ { MaxTextureAspectRatio DWORD }
+ { MaxAnisotropy DWORD }
+ { MaxVertexW float }
+ { GuardBandLeft float }
+ { GuardBandTop float }
+ { GuardBandRight float }
+ { GuardBandBottom float }
+ { ExtentsAdjust float }
+ { StencilCaps DWORD }
+ { FVFCaps DWORD }
+ { TextureOpCaps DWORD }
+ { MaxTextureBlendStages DWORD }
+ { MaxSimultaneousTextures DWORD }
+ { VertexProcessingCaps DWORD }
+ { MaxActiveLights DWORD }
+ { MaxUserClipPlanes DWORD }
+ { MaxVertexBlendMatrices DWORD }
+ { MaxVertexBlendMatrixIndex DWORD }
+ { MaxPointSize float }
+ { MaxPrimitiveCount DWORD }
+ { MaxVertexIndex DWORD }
+ { MaxStreams DWORD }
+ { MaxStreamStride DWORD }
+ { VertexShaderVersion DWORD }
+ { MaxVertexShaderConst DWORD }
+ { PixelShaderVersion DWORD }
+ { PixelShader1xMaxValue float }
+ { DevCaps2 DWORD }
+ { MaxNpatchTessellationLevel float }
+ { Reserved5 DWORD }
+ { MasterAdapterOrdinal UINT }
+ { AdapterOrdinalInGroup UINT }
+ { NumberOfAdaptersInGroup UINT }
+ { DeclTypes DWORD }
+ { NumSimultaneousRTs DWORD }
+ { StretchRectFilterCaps DWORD }
+ { VS20Caps D3DVSHADERCAPS2_0 }
+ { PS20Caps D3DPSHADERCAPS2_0 }
+ { VertexTextureFilterCaps DWORD }
+ { MaxVShaderInstructionsExecuted DWORD }
+ { MaxPShaderInstructionsExecuted DWORD }
+ { MaxVertexShader30InstructionSlots DWORD }
+ { MaxPixelShader30InstructionSlots DWORD } ;
+
+CONSTANT: D3DCAPS_OVERLAY HEX: 00000800
+CONSTANT: D3DCAPS_READ_SCANLINE HEX: 00020000
+
+CONSTANT: D3DCAPS2_FULLSCREENGAMMA HEX: 00020000
+CONSTANT: D3DCAPS2_CANCALIBRATEGAMMA HEX: 00100000
+CONSTANT: D3DCAPS2_RESERVED HEX: 02000000
+CONSTANT: D3DCAPS2_CANMANAGERESOURCE HEX: 10000000
+CONSTANT: D3DCAPS2_DYNAMICTEXTURES HEX: 20000000
+CONSTANT: D3DCAPS2_CANAUTOGENMIPMAP HEX: 40000000
+
+CONSTANT: D3DCAPS2_CANSHARERESOURCE HEX: 80000000
+
+CONSTANT: D3DCAPS3_RESERVED HEX: 8000001f
+
+CONSTANT: D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD HEX: 00000020
+
+CONSTANT: D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION HEX: 00000080
+
+CONSTANT: D3DCAPS3_COPY_TO_VIDMEM HEX: 00000100
+CONSTANT: D3DCAPS3_COPY_TO_SYSTEMMEM HEX: 00000200
+CONSTANT: D3DCAPS3_DXVAHD HEX: 00000400
+
+CONSTANT: D3DPRESENT_INTERVAL_DEFAULT HEX: 00000000
+CONSTANT: D3DPRESENT_INTERVAL_ONE HEX: 00000001
+CONSTANT: D3DPRESENT_INTERVAL_TWO HEX: 00000002
+CONSTANT: D3DPRESENT_INTERVAL_THREE HEX: 00000004
+CONSTANT: D3DPRESENT_INTERVAL_FOUR HEX: 00000008
+CONSTANT: D3DPRESENT_INTERVAL_IMMEDIATE HEX: 80000000
+
+CONSTANT: D3DCURSORCAPS_COLOR HEX: 00000001
+CONSTANT: D3DCURSORCAPS_LOWRES HEX: 00000002
+
+CONSTANT: D3DDEVCAPS_EXECUTESYSTEMMEMORY HEX: 00000010
+CONSTANT: D3DDEVCAPS_EXECUTEVIDEOMEMORY HEX: 00000020
+CONSTANT: D3DDEVCAPS_TLVERTEXSYSTEMMEMORY HEX: 00000040
+CONSTANT: D3DDEVCAPS_TLVERTEXVIDEOMEMORY HEX: 00000080
+CONSTANT: D3DDEVCAPS_TEXTURESYSTEMMEMORY HEX: 00000100
+CONSTANT: D3DDEVCAPS_TEXTUREVIDEOMEMORY HEX: 00000200
+CONSTANT: D3DDEVCAPS_DRAWPRIMTLVERTEX HEX: 00000400
+CONSTANT: D3DDEVCAPS_CANRENDERAFTERFLIP HEX: 00000800
+CONSTANT: D3DDEVCAPS_TEXTURENONLOCALVIDMEM HEX: 00001000
+CONSTANT: D3DDEVCAPS_DRAWPRIMITIVES2 HEX: 00002000
+CONSTANT: D3DDEVCAPS_SEPARATETEXTUREMEMORIES HEX: 00004000
+CONSTANT: D3DDEVCAPS_DRAWPRIMITIVES2EX HEX: 00008000
+CONSTANT: D3DDEVCAPS_HWTRANSFORMANDLIGHT HEX: 00010000
+CONSTANT: D3DDEVCAPS_CANBLTSYSTONONLOCAL HEX: 00020000
+CONSTANT: D3DDEVCAPS_HWRASTERIZATION HEX: 00080000
+CONSTANT: D3DDEVCAPS_PUREDEVICE HEX: 00100000
+CONSTANT: D3DDEVCAPS_QUINTICRTPATCHES HEX: 00200000
+CONSTANT: D3DDEVCAPS_RTPATCHES HEX: 00400000
+CONSTANT: D3DDEVCAPS_RTPATCHHANDLEZERO HEX: 00800000
+CONSTANT: D3DDEVCAPS_NPATCHES HEX: 01000000
+
+CONSTANT: D3DPMISCCAPS_MASKZ HEX: 00000002
+CONSTANT: D3DPMISCCAPS_CULLNONE HEX: 00000010
+CONSTANT: D3DPMISCCAPS_CULLCW HEX: 00000020
+CONSTANT: D3DPMISCCAPS_CULLCCW HEX: 00000040
+CONSTANT: D3DPMISCCAPS_COLORWRITEENABLE HEX: 00000080
+CONSTANT: D3DPMISCCAPS_CLIPPLANESCALEDPOINTS HEX: 00000100
+CONSTANT: D3DPMISCCAPS_CLIPTLVERTS HEX: 00000200
+CONSTANT: D3DPMISCCAPS_TSSARGTEMP HEX: 00000400
+CONSTANT: D3DPMISCCAPS_BLENDOP HEX: 00000800
+CONSTANT: D3DPMISCCAPS_NULLREFERENCE HEX: 00001000
+CONSTANT: D3DPMISCCAPS_INDEPENDENTWRITEMASKS HEX: 00004000
+CONSTANT: D3DPMISCCAPS_PERSTAGECONSTANT HEX: 00008000
+CONSTANT: D3DPMISCCAPS_FOGANDSPECULARALPHA HEX: 00010000
+CONSTANT: D3DPMISCCAPS_SEPARATEALPHABLEND HEX: 00020000
+CONSTANT: D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS HEX: 00040000
+CONSTANT: D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING HEX: 00080000
+CONSTANT: D3DPMISCCAPS_FOGVERTEXCLAMPED HEX: 00100000
+
+CONSTANT: D3DPMISCCAPS_POSTBLENDSRGBCONVERT HEX: 00200000
+
+CONSTANT: D3DLINECAPS_TEXTURE HEX: 00000001
+CONSTANT: D3DLINECAPS_ZTEST HEX: 00000002
+CONSTANT: D3DLINECAPS_BLEND HEX: 00000004
+CONSTANT: D3DLINECAPS_ALPHACMP HEX: 00000008
+CONSTANT: D3DLINECAPS_FOG HEX: 00000010
+CONSTANT: D3DLINECAPS_ANTIALIAS HEX: 00000020
+
+CONSTANT: D3DPRASTERCAPS_DITHER HEX: 00000001
+CONSTANT: D3DPRASTERCAPS_ZTEST HEX: 00000010
+CONSTANT: D3DPRASTERCAPS_FOGVERTEX HEX: 00000080
+CONSTANT: D3DPRASTERCAPS_FOGTABLE HEX: 00000100
+CONSTANT: D3DPRASTERCAPS_MIPMAPLODBIAS HEX: 00002000
+CONSTANT: D3DPRASTERCAPS_ZBUFFERLESSHSR HEX: 00008000
+CONSTANT: D3DPRASTERCAPS_FOGRANGE HEX: 00010000
+CONSTANT: D3DPRASTERCAPS_ANISOTROPY HEX: 00020000
+CONSTANT: D3DPRASTERCAPS_WBUFFER HEX: 00040000
+CONSTANT: D3DPRASTERCAPS_WFOG HEX: 00100000
+CONSTANT: D3DPRASTERCAPS_ZFOG HEX: 00200000
+CONSTANT: D3DPRASTERCAPS_COLORPERSPECTIVE HEX: 00400000
+CONSTANT: D3DPRASTERCAPS_SCISSORTEST HEX: 01000000
+CONSTANT: D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS HEX: 02000000
+CONSTANT: D3DPRASTERCAPS_DEPTHBIAS HEX: 04000000
+CONSTANT: D3DPRASTERCAPS_MULTISAMPLE_TOGGLE HEX: 08000000
+
+CONSTANT: D3DPCMPCAPS_NEVER HEX: 00000001
+CONSTANT: D3DPCMPCAPS_LESS HEX: 00000002
+CONSTANT: D3DPCMPCAPS_EQUAL HEX: 00000004
+CONSTANT: D3DPCMPCAPS_LESSEQUAL HEX: 00000008
+CONSTANT: D3DPCMPCAPS_GREATER HEX: 00000010
+CONSTANT: D3DPCMPCAPS_NOTEQUAL HEX: 00000020
+CONSTANT: D3DPCMPCAPS_GREATEREQUAL HEX: 00000040
+CONSTANT: D3DPCMPCAPS_ALWAYS HEX: 00000080
+
+CONSTANT: D3DPBLENDCAPS_ZERO HEX: 00000001
+CONSTANT: D3DPBLENDCAPS_ONE HEX: 00000002
+CONSTANT: D3DPBLENDCAPS_SRCCOLOR HEX: 00000004
+CONSTANT: D3DPBLENDCAPS_INVSRCCOLOR HEX: 00000008
+CONSTANT: D3DPBLENDCAPS_SRCALPHA HEX: 00000010
+CONSTANT: D3DPBLENDCAPS_INVSRCALPHA HEX: 00000020
+CONSTANT: D3DPBLENDCAPS_DESTALPHA HEX: 00000040
+CONSTANT: D3DPBLENDCAPS_INVDESTALPHA HEX: 00000080
+CONSTANT: D3DPBLENDCAPS_DESTCOLOR HEX: 00000100
+CONSTANT: D3DPBLENDCAPS_INVDESTCOLOR HEX: 00000200
+CONSTANT: D3DPBLENDCAPS_SRCALPHASAT HEX: 00000400
+CONSTANT: D3DPBLENDCAPS_BOTHSRCALPHA HEX: 00000800
+CONSTANT: D3DPBLENDCAPS_BOTHINVSRCALPHA HEX: 00001000
+CONSTANT: D3DPBLENDCAPS_BLENDFACTOR HEX: 00002000
+
+CONSTANT: D3DPBLENDCAPS_SRCCOLOR2 HEX: 00004000
+CONSTANT: D3DPBLENDCAPS_INVSRCCOLOR2 HEX: 00008000
+
+CONSTANT: D3DPSHADECAPS_COLORGOURAUDRGB HEX: 00000008
+CONSTANT: D3DPSHADECAPS_SPECULARGOURAUDRGB HEX: 00000200
+CONSTANT: D3DPSHADECAPS_ALPHAGOURAUDBLEND HEX: 00004000
+CONSTANT: D3DPSHADECAPS_FOGGOURAUD HEX: 00080000
+
+CONSTANT: D3DPTEXTURECAPS_PERSPECTIVE HEX: 00000001
+CONSTANT: D3DPTEXTURECAPS_POW2 HEX: 00000002
+CONSTANT: D3DPTEXTURECAPS_ALPHA HEX: 00000004
+CONSTANT: D3DPTEXTURECAPS_SQUAREONLY HEX: 00000020
+CONSTANT: D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE HEX: 00000040
+CONSTANT: D3DPTEXTURECAPS_ALPHAPALETTE HEX: 00000080
+
+CONSTANT: D3DPTEXTURECAPS_NONPOW2CONDITIONAL HEX: 00000100
+CONSTANT: D3DPTEXTURECAPS_PROJECTED HEX: 00000400
+CONSTANT: D3DPTEXTURECAPS_CUBEMAP HEX: 00000800
+CONSTANT: D3DPTEXTURECAPS_VOLUMEMAP HEX: 00002000
+CONSTANT: D3DPTEXTURECAPS_MIPMAP HEX: 00004000
+CONSTANT: D3DPTEXTURECAPS_MIPVOLUMEMAP HEX: 00008000
+CONSTANT: D3DPTEXTURECAPS_MIPCUBEMAP HEX: 00010000
+CONSTANT: D3DPTEXTURECAPS_CUBEMAP_POW2 HEX: 00020000
+CONSTANT: D3DPTEXTURECAPS_VOLUMEMAP_POW2 HEX: 00040000
+CONSTANT: D3DPTEXTURECAPS_NOPROJECTEDBUMPENV HEX: 00200000
+
+CONSTANT: D3DPTFILTERCAPS_MINFPOINT HEX: 00000100
+CONSTANT: D3DPTFILTERCAPS_MINFLINEAR HEX: 00000200
+CONSTANT: D3DPTFILTERCAPS_MINFANISOTROPIC HEX: 00000400
+CONSTANT: D3DPTFILTERCAPS_MINFPYRAMIDALQUAD HEX: 00000800
+CONSTANT: D3DPTFILTERCAPS_MINFGAUSSIANQUAD HEX: 00001000
+CONSTANT: D3DPTFILTERCAPS_MIPFPOINT HEX: 00010000
+CONSTANT: D3DPTFILTERCAPS_MIPFLINEAR HEX: 00020000
+
+CONSTANT: D3DPTFILTERCAPS_CONVOLUTIONMONO HEX: 00040000
+
+CONSTANT: D3DPTFILTERCAPS_MAGFPOINT HEX: 01000000
+CONSTANT: D3DPTFILTERCAPS_MAGFLINEAR HEX: 02000000
+CONSTANT: D3DPTFILTERCAPS_MAGFANISOTROPIC HEX: 04000000
+CONSTANT: D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD HEX: 08000000
+CONSTANT: D3DPTFILTERCAPS_MAGFGAUSSIANQUAD HEX: 10000000
+
+CONSTANT: D3DPTADDRESSCAPS_WRAP HEX: 00000001
+CONSTANT: D3DPTADDRESSCAPS_MIRROR HEX: 00000002
+CONSTANT: D3DPTADDRESSCAPS_CLAMP HEX: 00000004
+CONSTANT: D3DPTADDRESSCAPS_BORDER HEX: 00000008
+CONSTANT: D3DPTADDRESSCAPS_INDEPENDENTUV HEX: 00000010
+CONSTANT: D3DPTADDRESSCAPS_MIRRORONCE HEX: 00000020
+
+CONSTANT: D3DSTENCILCAPS_KEEP HEX: 00000001
+CONSTANT: D3DSTENCILCAPS_ZERO HEX: 00000002
+CONSTANT: D3DSTENCILCAPS_REPLACE HEX: 00000004
+CONSTANT: D3DSTENCILCAPS_INCRSAT HEX: 00000008
+CONSTANT: D3DSTENCILCAPS_DECRSAT HEX: 00000010
+CONSTANT: D3DSTENCILCAPS_INVERT HEX: 00000020
+CONSTANT: D3DSTENCILCAPS_INCR HEX: 00000040
+CONSTANT: D3DSTENCILCAPS_DECR HEX: 00000080
+CONSTANT: D3DSTENCILCAPS_TWOSIDED HEX: 00000100
+
+CONSTANT: D3DTEXOPCAPS_DISABLE HEX: 00000001
+CONSTANT: D3DTEXOPCAPS_SELECTARG1 HEX: 00000002
+CONSTANT: D3DTEXOPCAPS_SELECTARG2 HEX: 00000004
+CONSTANT: D3DTEXOPCAPS_MODULATE HEX: 00000008
+CONSTANT: D3DTEXOPCAPS_MODULATE2X HEX: 00000010
+CONSTANT: D3DTEXOPCAPS_MODULATE4X HEX: 00000020
+CONSTANT: D3DTEXOPCAPS_ADD HEX: 00000040
+CONSTANT: D3DTEXOPCAPS_ADDSIGNED HEX: 00000080
+CONSTANT: D3DTEXOPCAPS_ADDSIGNED2X HEX: 00000100
+CONSTANT: D3DTEXOPCAPS_SUBTRACT HEX: 00000200
+CONSTANT: D3DTEXOPCAPS_ADDSMOOTH HEX: 00000400
+CONSTANT: D3DTEXOPCAPS_BLENDDIFFUSEALPHA HEX: 00000800
+CONSTANT: D3DTEXOPCAPS_BLENDTEXTUREALPHA HEX: 00001000
+CONSTANT: D3DTEXOPCAPS_BLENDFACTORALPHA HEX: 00002000
+CONSTANT: D3DTEXOPCAPS_BLENDTEXTUREALPHAPM HEX: 00004000
+CONSTANT: D3DTEXOPCAPS_BLENDCURRENTALPHA HEX: 00008000
+CONSTANT: D3DTEXOPCAPS_PREMODULATE HEX: 00010000
+CONSTANT: D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR HEX: 00020000
+CONSTANT: D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA HEX: 00040000
+CONSTANT: D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR HEX: 00080000
+CONSTANT: D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA HEX: 00100000
+CONSTANT: D3DTEXOPCAPS_BUMPENVMAP HEX: 00200000
+CONSTANT: D3DTEXOPCAPS_BUMPENVMAPLUMINANCE HEX: 00400000
+CONSTANT: D3DTEXOPCAPS_DOTPRODUCT3 HEX: 00800000
+CONSTANT: D3DTEXOPCAPS_MULTIPLYADD HEX: 01000000
+CONSTANT: D3DTEXOPCAPS_LERP HEX: 02000000
+
+CONSTANT: D3DFVFCAPS_TEXCOORDCOUNTMASK HEX: 0000ffff
+CONSTANT: D3DFVFCAPS_DONOTSTRIPELEMENTS HEX: 00080000
+CONSTANT: D3DFVFCAPS_PSIZE HEX: 00100000
+
+CONSTANT: D3DVTXPCAPS_TEXGEN HEX: 00000001
+CONSTANT: D3DVTXPCAPS_MATERIALSOURCE7 HEX: 00000002
+CONSTANT: D3DVTXPCAPS_DIRECTIONALLIGHTS HEX: 00000008
+CONSTANT: D3DVTXPCAPS_POSITIONALLIGHTS HEX: 00000010
+CONSTANT: D3DVTXPCAPS_LOCALVIEWER HEX: 00000020
+CONSTANT: D3DVTXPCAPS_TWEENING HEX: 00000040
+CONSTANT: D3DVTXPCAPS_TEXGEN_SPHEREMAP HEX: 00000100
+CONSTANT: D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER HEX: 00000200
+
+CONSTANT: D3DDEVCAPS2_STREAMOFFSET HEX: 00000001
+CONSTANT: D3DDEVCAPS2_DMAPNPATCH HEX: 00000002
+CONSTANT: D3DDEVCAPS2_ADAPTIVETESSRTPATCH HEX: 00000004
+CONSTANT: D3DDEVCAPS2_ADAPTIVETESSNPATCH HEX: 00000008
+CONSTANT: D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES HEX: 00000010
+CONSTANT: D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH HEX: 00000020
+CONSTANT: D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET HEX: 00000040
+
+CONSTANT: D3DDTCAPS_UBYTE4 HEX: 00000001
+CONSTANT: D3DDTCAPS_UBYTE4N HEX: 00000002
+CONSTANT: D3DDTCAPS_SHORT2N HEX: 00000004
+CONSTANT: D3DDTCAPS_SHORT4N HEX: 00000008
+CONSTANT: D3DDTCAPS_USHORT2N HEX: 00000010
+CONSTANT: D3DDTCAPS_USHORT4N HEX: 00000020
+CONSTANT: D3DDTCAPS_UDEC3 HEX: 00000040
+CONSTANT: D3DDTCAPS_DEC3N HEX: 00000080
+CONSTANT: D3DDTCAPS_FLOAT16_2 HEX: 00000100
+CONSTANT: D3DDTCAPS_FLOAT16_4 HEX: 00000200
--- /dev/null
+DirectX 9 bindings. Corresponds to d3d9caps.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax windows.types classes.struct math alien.c-types
+math.bitwise kernel locals windows.kernel32 ;
+IN: windows.directx.d3d9types
+
+TYPEDEF: DWORD D3DCOLOR
+
+STRUCT: D3DVECTOR
+ { x FLOAT }
+ { y FLOAT }
+ { z FLOAT } ;
+
+STRUCT: D3DCOLORVALUE
+ { r FLOAT }
+ { g FLOAT }
+ { b FLOAT }
+ { a FLOAT } ;
+
+STRUCT: D3DRECT
+ { x1 LONG }
+ { y1 LONG }
+ { x2 LONG }
+ { y2 LONG } ;
+
+STRUCT: D3DMATRIX
+ { m FLOAT[4][4] } ;
+
+STRUCT: D3DVIEWPORT9
+ { X DWORD }
+ { Y DWORD }
+ { Width DWORD }
+ { Height DWORD }
+ { MinZ FLOAT }
+ { MaxZ FLOAT } ;
+
+CONSTANT: D3DMAXUSERCLIPPLANES 32
+
+CONSTANT: D3DCLIPPLANE0 1
+CONSTANT: D3DCLIPPLANE1 2
+CONSTANT: D3DCLIPPLANE2 4
+CONSTANT: D3DCLIPPLANE3 8
+CONSTANT: D3DCLIPPLANE4 16
+CONSTANT: D3DCLIPPLANE5 32
+
+CONSTANT: D3DCS_LEFT HEX: 00000001
+CONSTANT: D3DCS_RIGHT HEX: 00000002
+CONSTANT: D3DCS_TOP HEX: 00000004
+CONSTANT: D3DCS_BOTTOM HEX: 00000008
+CONSTANT: D3DCS_FRONT HEX: 00000010
+CONSTANT: D3DCS_BACK HEX: 00000020
+CONSTANT: D3DCS_PLANE0 HEX: 00000040
+CONSTANT: D3DCS_PLANE1 HEX: 00000080
+CONSTANT: D3DCS_PLANE2 HEX: 00000100
+CONSTANT: D3DCS_PLANE3 HEX: 00000200
+CONSTANT: D3DCS_PLANE4 HEX: 00000400
+CONSTANT: D3DCS_PLANE5 HEX: 00000800
+
+: D3DCS_ALL ( -- n )
+ { D3DCS_LEFT
+ D3DCS_RIGHT
+ D3DCS_TOP
+ D3DCS_BOTTOM
+ D3DCS_FRONT
+ D3DCS_BACK
+ D3DCS_PLANE0
+ D3DCS_PLANE1
+ D3DCS_PLANE2
+ D3DCS_PLANE3
+ D3DCS_PLANE4
+ D3DCS_PLANE5 } flags ; inline
+
+STRUCT: D3DCLIPSTATUS9
+ { ClipUnion DWORD }
+ { ClipIntersection DWORD } ;
+
+STRUCT: D3DMATERIAL9
+ { Diffuse D3DCOLORVALUE }
+ { Ambient D3DCOLORVALUE }
+ { Specular D3DCOLORVALUE }
+ { Emissive D3DCOLORVALUE }
+ { Power FLOAT } ;
+
+TYPEDEF: int D3DLIGHTTYPE
+CONSTANT: D3DLIGHT_POINT 1
+CONSTANT: D3DLIGHT_SPOT 2
+CONSTANT: D3DLIGHT_DIRECTIONAL 3
+CONSTANT: D3DLIGHT_FORCE_DWORD HEX: 7fffffff
+
+STRUCT: D3DLIGHT9
+ { Type D3DLIGHTTYPE }
+ { Diffuse D3DCOLORVALUE }
+ { Specular D3DCOLORVALUE }
+ { Ambient D3DCOLORVALUE }
+ { Position D3DVECTOR }
+ { Direction D3DVECTOR }
+ { Range FLOAT }
+ { Falloff FLOAT }
+ { Attenuation0 FLOAT }
+ { Attenuation1 FLOAT }
+ { Attenuation2 FLOAT }
+ { Theta FLOAT }
+ { Phi FLOAT } ;
+
+CONSTANT: D3DCLEAR_TARGET HEX: 00000001
+CONSTANT: D3DCLEAR_ZBUFFER HEX: 00000002
+CONSTANT: D3DCLEAR_STENCIL HEX: 00000004
+
+TYPEDEF: int D3DSHADEMODE
+CONSTANT: D3DSHADE_FLAT 1
+CONSTANT: D3DSHADE_GOURAUD 2
+CONSTANT: D3DSHADE_PHONG 3
+CONSTANT: D3DSHADE_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DFILLMODE
+CONSTANT: D3DFILL_POINT 1
+CONSTANT: D3DFILL_WIREFRAME 2
+CONSTANT: D3DFILL_SOLID 3
+CONSTANT: D3DFILL_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DBLEND
+CONSTANT: D3DBLEND_ZERO 1
+CONSTANT: D3DBLEND_ONE 2
+CONSTANT: D3DBLEND_SRCCOLOR 3
+CONSTANT: D3DBLEND_INVSRCCOLOR 4
+CONSTANT: D3DBLEND_SRCALPHA 5
+CONSTANT: D3DBLEND_INVSRCALPHA 6
+CONSTANT: D3DBLEND_DESTALPHA 7
+CONSTANT: D3DBLEND_INVDESTALPHA 8
+CONSTANT: D3DBLEND_DESTCOLOR 9
+CONSTANT: D3DBLEND_INVDESTCOLOR 10
+CONSTANT: D3DBLEND_SRCALPHASAT 11
+CONSTANT: D3DBLEND_BOTHSRCALPHA 12
+CONSTANT: D3DBLEND_BOTHINVSRCALPHA 13
+CONSTANT: D3DBLEND_BLENDFACTOR 14
+CONSTANT: D3DBLEND_INVBLENDFACTOR 15
+CONSTANT: D3DBLEND_SRCCOLOR2 16
+CONSTANT: D3DBLEND_INVSRCCOLOR2 17
+CONSTANT: D3DBLEND_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DBLENDOP
+CONSTANT: D3DBLENDOP_ADD 1
+CONSTANT: D3DBLENDOP_SUBTRACT 2
+CONSTANT: D3DBLENDOP_REVSUBTRACT 3
+CONSTANT: D3DBLENDOP_MIN 4
+CONSTANT: D3DBLENDOP_MAX 5
+CONSTANT: D3DBLENDOP_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DTEXTUREADDRESS
+CONSTANT: D3DTADDRESS_WRAP 1
+CONSTANT: D3DTADDRESS_MIRROR 2
+CONSTANT: D3DTADDRESS_CLAMP 3
+CONSTANT: D3DTADDRESS_BORDER 4
+CONSTANT: D3DTADDRESS_MIRRORONCE 5
+CONSTANT: D3DTADDRESS_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DCULL
+CONSTANT: D3DCULL_NONE 1
+CONSTANT: D3DCULL_CW 2
+CONSTANT: D3DCULL_CCW 3
+CONSTANT: D3DCULL_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DCMPFUNC
+CONSTANT: D3DCMP_NEVER 1
+CONSTANT: D3DCMP_LESS 2
+CONSTANT: D3DCMP_EQUAL 3
+CONSTANT: D3DCMP_LESSEQUAL 4
+CONSTANT: D3DCMP_GREATER 5
+CONSTANT: D3DCMP_NOTEQUAL 6
+CONSTANT: D3DCMP_GREATEREQUAL 7
+CONSTANT: D3DCMP_ALWAYS 8
+CONSTANT: D3DCMP_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DSTENCILOP
+CONSTANT: D3DSTENCILOP_KEEP 1
+CONSTANT: D3DSTENCILOP_ZERO 2
+CONSTANT: D3DSTENCILOP_REPLACE 3
+CONSTANT: D3DSTENCILOP_INCRSAT 4
+CONSTANT: D3DSTENCILOP_DECRSAT 5
+CONSTANT: D3DSTENCILOP_INVERT 6
+CONSTANT: D3DSTENCILOP_INCR 7
+CONSTANT: D3DSTENCILOP_DECR 8
+CONSTANT: D3DSTENCILOP_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DFOGMODE
+CONSTANT: D3DFOG_NONE 0
+CONSTANT: D3DFOG_EXP 1
+CONSTANT: D3DFOG_EXP2 2
+CONSTANT: D3DFOG_LINEAR 3
+CONSTANT: D3DFOG_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DZBUFFERTYPE
+CONSTANT: D3DZB_FALSE 0
+CONSTANT: D3DZB_TRUE 1
+CONSTANT: D3DZB_USEW 2
+CONSTANT: D3DZB_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DPRIMITIVETYPE
+CONSTANT: D3DPT_POINTLIST 1
+CONSTANT: D3DPT_LINELIST 2
+CONSTANT: D3DPT_LINESTRIP 3
+CONSTANT: D3DPT_TRIANGLELIST 4
+CONSTANT: D3DPT_TRIANGLESTRIP 5
+CONSTANT: D3DPT_TRIANGLEFAN 6
+CONSTANT: D3DPT_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DTRANSFORMSTATETYPE
+CONSTANT: D3DTS_VIEW 2
+CONSTANT: D3DTS_PROJECTION 3
+CONSTANT: D3DTS_TEXTURE0 16
+CONSTANT: D3DTS_TEXTURE1 17
+CONSTANT: D3DTS_TEXTURE2 18
+CONSTANT: D3DTS_TEXTURE3 19
+CONSTANT: D3DTS_TEXTURE4 20
+CONSTANT: D3DTS_TEXTURE5 21
+CONSTANT: D3DTS_TEXTURE6 22
+CONSTANT: D3DTS_TEXTURE7 23
+CONSTANT: D3DTS_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DRENDERSTATETYPE
+CONSTANT: D3DRS_ZENABLE 7
+CONSTANT: D3DRS_FILLMODE 8
+CONSTANT: D3DRS_SHADEMODE 9
+CONSTANT: D3DRS_ZWRITEENABLE 14
+CONSTANT: D3DRS_ALPHATESTENABLE 15
+CONSTANT: D3DRS_LASTPIXEL 16
+CONSTANT: D3DRS_SRCBLEND 19
+CONSTANT: D3DRS_DESTBLEND 20
+CONSTANT: D3DRS_CULLMODE 22
+CONSTANT: D3DRS_ZFUNC 23
+CONSTANT: D3DRS_ALPHAREF 24
+CONSTANT: D3DRS_ALPHAFUNC 25
+CONSTANT: D3DRS_DITHERENABLE 26
+CONSTANT: D3DRS_ALPHABLENDENABLE 27
+CONSTANT: D3DRS_FOGENABLE 28
+CONSTANT: D3DRS_SPECULARENABLE 29
+CONSTANT: D3DRS_FOGCOLOR 34
+CONSTANT: D3DRS_FOGTABLEMODE 35
+CONSTANT: D3DRS_FOGSTART 36
+CONSTANT: D3DRS_FOGEND 37
+CONSTANT: D3DRS_FOGDENSITY 38
+CONSTANT: D3DRS_RANGEFOGENABLE 48
+CONSTANT: D3DRS_STENCILENABLE 52
+CONSTANT: D3DRS_STENCILFAIL 53
+CONSTANT: D3DRS_STENCILZFAIL 54
+CONSTANT: D3DRS_STENCILPASS 55
+CONSTANT: D3DRS_STENCILFUNC 56
+CONSTANT: D3DRS_STENCILREF 57
+CONSTANT: D3DRS_STENCILMASK 58
+CONSTANT: D3DRS_STENCILWRITEMASK 59
+CONSTANT: D3DRS_TEXTUREFACTOR 60
+CONSTANT: D3DRS_WRAP0 128
+CONSTANT: D3DRS_WRAP1 129
+CONSTANT: D3DRS_WRAP2 130
+CONSTANT: D3DRS_WRAP3 131
+CONSTANT: D3DRS_WRAP4 132
+CONSTANT: D3DRS_WRAP5 133
+CONSTANT: D3DRS_WRAP6 134
+CONSTANT: D3DRS_WRAP7 135
+CONSTANT: D3DRS_CLIPPING 136
+CONSTANT: D3DRS_LIGHTING 137
+CONSTANT: D3DRS_AMBIENT 139
+CONSTANT: D3DRS_FOGVERTEXMODE 140
+CONSTANT: D3DRS_COLORVERTEX 141
+CONSTANT: D3DRS_LOCALVIEWER 142
+CONSTANT: D3DRS_NORMALIZENORMALS 143
+CONSTANT: D3DRS_DIFFUSEMATERIALSOURCE 145
+CONSTANT: D3DRS_SPECULARMATERIALSOURCE 146
+CONSTANT: D3DRS_AMBIENTMATERIALSOURCE 147
+CONSTANT: D3DRS_EMISSIVEMATERIALSOURCE 148
+CONSTANT: D3DRS_VERTEXBLEND 151
+CONSTANT: D3DRS_CLIPPLANEENABLE 152
+CONSTANT: D3DRS_POINTSIZE 154
+CONSTANT: D3DRS_POINTSIZE_MIN 155
+CONSTANT: D3DRS_POINTSPRITEENABLE 156
+CONSTANT: D3DRS_POINTSCALEENABLE 157
+CONSTANT: D3DRS_POINTSCALE_A 158
+CONSTANT: D3DRS_POINTSCALE_B 159
+CONSTANT: D3DRS_POINTSCALE_C 160
+CONSTANT: D3DRS_MULTISAMPLEANTIALIAS 161
+CONSTANT: D3DRS_MULTISAMPLEMASK 162
+CONSTANT: D3DRS_PATCHEDGESTYLE 163
+CONSTANT: D3DRS_DEBUGMONITORTOKEN 165
+CONSTANT: D3DRS_POINTSIZE_MAX 166
+CONSTANT: D3DRS_INDEXEDVERTEXBLENDENABLE 167
+CONSTANT: D3DRS_COLORWRITEENABLE 168
+CONSTANT: D3DRS_TWEENFACTOR 170
+CONSTANT: D3DRS_BLENDOP 171
+CONSTANT: D3DRS_POSITIONDEGREE 172
+CONSTANT: D3DRS_NORMALDEGREE 173
+CONSTANT: D3DRS_SCISSORTESTENABLE 174
+CONSTANT: D3DRS_SLOPESCALEDEPTHBIAS 175
+CONSTANT: D3DRS_ANTIALIASEDLINEENABLE 176
+CONSTANT: D3DRS_MINTESSELLATIONLEVEL 178
+CONSTANT: D3DRS_MAXTESSELLATIONLEVEL 179
+CONSTANT: D3DRS_ADAPTIVETESS_X 180
+CONSTANT: D3DRS_ADAPTIVETESS_Y 181
+CONSTANT: D3DRS_ADAPTIVETESS_Z 182
+CONSTANT: D3DRS_ADAPTIVETESS_W 183
+CONSTANT: D3DRS_ENABLEADAPTIVETESSELLATION 184
+CONSTANT: D3DRS_TWOSIDEDSTENCILMODE 185
+CONSTANT: D3DRS_CCW_STENCILFAIL 186
+CONSTANT: D3DRS_CCW_STENCILZFAIL 187
+CONSTANT: D3DRS_CCW_STENCILPASS 188
+CONSTANT: D3DRS_CCW_STENCILFUNC 189
+CONSTANT: D3DRS_COLORWRITEENABLE1 190
+CONSTANT: D3DRS_COLORWRITEENABLE2 191
+CONSTANT: D3DRS_COLORWRITEENABLE3 192
+CONSTANT: D3DRS_BLENDFACTOR 193
+CONSTANT: D3DRS_SRGBWRITEENABLE 194
+CONSTANT: D3DRS_DEPTHBIAS 195
+CONSTANT: D3DRS_WRAP8 198
+CONSTANT: D3DRS_WRAP9 199
+CONSTANT: D3DRS_WRAP10 200
+CONSTANT: D3DRS_WRAP11 201
+CONSTANT: D3DRS_WRAP12 202
+CONSTANT: D3DRS_WRAP13 203
+CONSTANT: D3DRS_WRAP14 204
+CONSTANT: D3DRS_WRAP15 205
+CONSTANT: D3DRS_SEPARATEALPHABLENDENABLE 206
+CONSTANT: D3DRS_SRCBLENDALPHA 207
+CONSTANT: D3DRS_DESTBLENDALPHA 208
+CONSTANT: D3DRS_BLENDOPALPHA 209
+CONSTANT: D3DRS_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3D_MAX_SIMULTANEOUS_RENDERTARGETS 4
+
+TYPEDEF: int D3DMATERIALCOLORSOURCE
+CONSTANT: D3DMCS_MATERIAL 0
+CONSTANT: D3DMCS_COLOR1 1
+CONSTANT: D3DMCS_COLOR2 2
+CONSTANT: D3DMCS_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DRENDERSTATE_WRAPBIAS 128
+
+CONSTANT: D3DWRAP_U HEX: 00000001
+CONSTANT: D3DWRAP_V HEX: 00000002
+CONSTANT: D3DWRAP_W HEX: 00000004
+
+CONSTANT: D3DWRAPCOORD_0 HEX: 00000001
+CONSTANT: D3DWRAPCOORD_1 HEX: 00000002
+CONSTANT: D3DWRAPCOORD_2 HEX: 00000004
+CONSTANT: D3DWRAPCOORD_3 HEX: 00000008
+
+CONSTANT: D3DCOLORWRITEENABLE_RED 1
+CONSTANT: D3DCOLORWRITEENABLE_GREEN 2
+CONSTANT: D3DCOLORWRITEENABLE_BLUE 4
+CONSTANT: D3DCOLORWRITEENABLE_ALPHA 8
+
+TYPEDEF: int D3DTEXTURESTAGESTATETYPE
+CONSTANT: D3DTSS_COLOROP 1
+CONSTANT: D3DTSS_COLORARG1 2
+CONSTANT: D3DTSS_COLORARG2 3
+CONSTANT: D3DTSS_ALPHAOP 4
+CONSTANT: D3DTSS_ALPHAARG1 5
+CONSTANT: D3DTSS_ALPHAARG2 6
+CONSTANT: D3DTSS_BUMPENVMAT00 7
+CONSTANT: D3DTSS_BUMPENVMAT01 8
+CONSTANT: D3DTSS_BUMPENVMAT10 9
+CONSTANT: D3DTSS_BUMPENVMAT11 10
+CONSTANT: D3DTSS_TEXCOORDINDEX 11
+CONSTANT: D3DTSS_BUMPENVLSCALE 22
+CONSTANT: D3DTSS_BUMPENVLOFFSET 23
+CONSTANT: D3DTSS_TEXTURETRANSFORMFLAGS 24
+CONSTANT: D3DTSS_COLORARG0 26
+CONSTANT: D3DTSS_ALPHAARG0 27
+CONSTANT: D3DTSS_RESULTARG 28
+CONSTANT: D3DTSS_CONSTANT 32
+CONSTANT: D3DTSS_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DSAMPLERSTATETYPE
+CONSTANT: D3DSAMP_ADDRESSU 1
+CONSTANT: D3DSAMP_ADDRESSV 2
+CONSTANT: D3DSAMP_ADDRESSW 3
+CONSTANT: D3DSAMP_BORDERCOLOR 4
+CONSTANT: D3DSAMP_MAGFILTER 5
+CONSTANT: D3DSAMP_MINFILTER 6
+CONSTANT: D3DSAMP_MIPFILTER 7
+CONSTANT: D3DSAMP_MIPMAPLODBIAS 8
+CONSTANT: D3DSAMP_MAXMIPLEVEL 9
+CONSTANT: D3DSAMP_MAXANISOTROPY 10
+CONSTANT: D3DSAMP_SRGBTEXTURE 11
+CONSTANT: D3DSAMP_ELEMENTINDEX 12
+CONSTANT: D3DSAMP_DMAPOFFSET 13
+CONSTANT: D3DSAMP_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DDMAPSAMPLER 256
+
+CONSTANT: D3DVERTEXTEXTURESAMPLER0 257
+CONSTANT: D3DVERTEXTEXTURESAMPLER1 258
+CONSTANT: D3DVERTEXTEXTURESAMPLER2 259
+CONSTANT: D3DVERTEXTEXTURESAMPLER3 260
+
+CONSTANT: D3DTSS_TCI_PASSTHRU HEX: 00000000
+CONSTANT: D3DTSS_TCI_CAMERASPACENORMAL HEX: 00010000
+CONSTANT: D3DTSS_TCI_CAMERASPACEPOSITION HEX: 00020000
+CONSTANT: D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR HEX: 00030000
+CONSTANT: D3DTSS_TCI_SPHEREMAP HEX: 00040000
+
+TYPEDEF: int D3DTEXTUREOP
+CONSTANT: D3DTOP_DISABLE 1
+CONSTANT: D3DTOP_SELECTARG1 2
+CONSTANT: D3DTOP_SELECTARG2 3
+CONSTANT: D3DTOP_MODULATE 4
+CONSTANT: D3DTOP_MODULATE2X 5
+CONSTANT: D3DTOP_MODULATE4X 6
+CONSTANT: D3DTOP_ADD 7
+CONSTANT: D3DTOP_ADDSIGNED 8
+CONSTANT: D3DTOP_ADDSIGNED2X 9
+CONSTANT: D3DTOP_SUBTRACT 10
+CONSTANT: D3DTOP_ADDSMOOTH 11
+CONSTANT: D3DTOP_BLENDDIFFUSEALPHA 12
+CONSTANT: D3DTOP_BLENDTEXTUREALPHA 13
+CONSTANT: D3DTOP_BLENDFACTORALPHA 14
+CONSTANT: D3DTOP_BLENDTEXTUREALPHAPM 15
+CONSTANT: D3DTOP_BLENDCURRENTALPHA 16
+CONSTANT: D3DTOP_PREMODULATE 17
+CONSTANT: D3DTOP_MODULATEALPHA_ADDCOLOR 18
+CONSTANT: D3DTOP_MODULATECOLOR_ADDALPHA 19
+CONSTANT: D3DTOP_MODULATEINVALPHA_ADDCOLOR 20
+CONSTANT: D3DTOP_MODULATEINVCOLOR_ADDALPHA 21
+CONSTANT: D3DTOP_BUMPENVMAP 22
+CONSTANT: D3DTOP_BUMPENVMAPLUMINANCE 23
+CONSTANT: D3DTOP_DOTPRODUCT3 24
+CONSTANT: D3DTOP_MULTIPLYADD 25
+CONSTANT: D3DTOP_LERP 26
+CONSTANT: D3DTOP_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DTA_SELECTMASK HEX: 0000000f
+CONSTANT: D3DTA_DIFFUSE HEX: 00000000
+CONSTANT: D3DTA_CURRENT HEX: 00000001
+CONSTANT: D3DTA_TEXTURE HEX: 00000002
+CONSTANT: D3DTA_TFACTOR HEX: 00000003
+CONSTANT: D3DTA_SPECULAR HEX: 00000004
+CONSTANT: D3DTA_TEMP HEX: 00000005
+CONSTANT: D3DTA_CONSTANT HEX: 00000006
+CONSTANT: D3DTA_COMPLEMENT HEX: 00000010
+CONSTANT: D3DTA_ALPHAREPLICATE HEX: 00000020
+
+TYPEDEF: int D3DTEXTUREFILTERTYPE
+CONSTANT: D3DTEXF_NONE 0
+CONSTANT: D3DTEXF_POINT 1
+CONSTANT: D3DTEXF_LINEAR 2
+CONSTANT: D3DTEXF_ANISOTROPIC 3
+CONSTANT: D3DTEXF_PYRAMIDALQUAD 6
+CONSTANT: D3DTEXF_GAUSSIANQUAD 7
+CONSTANT: D3DTEXF_CONVOLUTIONMONO 8
+CONSTANT: D3DTEXF_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DPV_DONOTCOPYDATA 1
+
+CONSTANT: D3DFVF_RESERVED0 HEX: 001
+CONSTANT: D3DFVF_POSITION_MASK HEX: 400E
+CONSTANT: D3DFVF_XYZ HEX: 002
+CONSTANT: D3DFVF_XYZRHW HEX: 004
+CONSTANT: D3DFVF_XYZB1 HEX: 006
+CONSTANT: D3DFVF_XYZB2 HEX: 008
+CONSTANT: D3DFVF_XYZB3 HEX: 00a
+CONSTANT: D3DFVF_XYZB4 HEX: 00c
+CONSTANT: D3DFVF_XYZB5 HEX: 00e
+CONSTANT: D3DFVF_XYZW HEX: 4002
+
+CONSTANT: D3DFVF_NORMAL HEX: 010
+CONSTANT: D3DFVF_PSIZE HEX: 020
+CONSTANT: D3DFVF_DIFFUSE HEX: 040
+CONSTANT: D3DFVF_SPECULAR HEX: 080
+
+CONSTANT: D3DFVF_TEXCOUNT_MASK HEX: f00
+CONSTANT: D3DFVF_TEXCOUNT_SHIFT 8
+CONSTANT: D3DFVF_TEX0 HEX: 000
+CONSTANT: D3DFVF_TEX1 HEX: 100
+CONSTANT: D3DFVF_TEX2 HEX: 200
+CONSTANT: D3DFVF_TEX3 HEX: 300
+CONSTANT: D3DFVF_TEX4 HEX: 400
+CONSTANT: D3DFVF_TEX5 HEX: 500
+CONSTANT: D3DFVF_TEX6 HEX: 600
+CONSTANT: D3DFVF_TEX7 HEX: 700
+CONSTANT: D3DFVF_TEX8 HEX: 800
+
+CONSTANT: D3DFVF_LASTBETA_UBYTE4 HEX: 1000
+CONSTANT: D3DFVF_LASTBETA_D3DCOLOR HEX: 8000
+
+CONSTANT: D3DFVF_RESERVED2 HEX: 6000
+
+TYPEDEF: int D3DDECLUSAGE
+CONSTANT: D3DDECLUSAGE_POSITION 0
+CONSTANT: D3DDECLUSAGE_BLENDWEIGHT 1
+CONSTANT: D3DDECLUSAGE_BLENDINDICES 2
+CONSTANT: D3DDECLUSAGE_NORMAL 3
+CONSTANT: D3DDECLUSAGE_PSIZE 4
+CONSTANT: D3DDECLUSAGE_TEXCOORD 5
+CONSTANT: D3DDECLUSAGE_TANGENT 6
+CONSTANT: D3DDECLUSAGE_BINORMAL 7
+CONSTANT: D3DDECLUSAGE_TESSFACTOR 8
+CONSTANT: D3DDECLUSAGE_POSITIONT 9
+CONSTANT: D3DDECLUSAGE_COLOR 10
+CONSTANT: D3DDECLUSAGE_FOG 11
+CONSTANT: D3DDECLUSAGE_DEPTH 12
+CONSTANT: D3DDECLUSAGE_SAMPLE 13
+
+CONSTANT: MAXD3DDECLUSAGE 13
+CONSTANT: MAXD3DDECLUSAGEINDEX 15
+CONSTANT: MAXD3DDECLLENGTH 64
+
+TYPEDEF: int D3DDECLMETHOD
+C-ENUM:
+ D3DDECLMETHOD_DEFAULT
+ D3DDECLMETHOD_PARTIALU
+ D3DDECLMETHOD_PARTIALV
+ D3DDECLMETHOD_CROSSUV
+ D3DDECLMETHOD_UV
+ D3DDECLMETHOD_LOOKUP
+ D3DDECLMETHOD_LOOKUPPRESAMPLED ;
+
+: MAXD3DDECLMETHOD ( -- n ) D3DDECLMETHOD_LOOKUPPRESAMPLED ; inline
+
+TYPEDEF: int D3DDECLTYPE
+CONSTANT: D3DDECLTYPE_FLOAT1 0
+CONSTANT: D3DDECLTYPE_FLOAT2 1
+CONSTANT: D3DDECLTYPE_FLOAT3 2
+CONSTANT: D3DDECLTYPE_FLOAT4 3
+CONSTANT: D3DDECLTYPE_D3DCOLOR 4
+CONSTANT: D3DDECLTYPE_UBYTE4 5
+CONSTANT: D3DDECLTYPE_SHORT2 6
+CONSTANT: D3DDECLTYPE_SHORT4 7
+CONSTANT: D3DDECLTYPE_UBYTE4N 8
+CONSTANT: D3DDECLTYPE_SHORT2N 9
+CONSTANT: D3DDECLTYPE_SHORT4N 10
+CONSTANT: D3DDECLTYPE_USHORT2N 11
+CONSTANT: D3DDECLTYPE_USHORT4N 12
+CONSTANT: D3DDECLTYPE_UDEC3 13
+CONSTANT: D3DDECLTYPE_DEC3N 14
+CONSTANT: D3DDECLTYPE_FLOAT16_2 15
+CONSTANT: D3DDECLTYPE_FLOAT16_4 16
+CONSTANT: D3DDECLTYPE_UNUSED 17
+
+: MAXD3DDECLTYPE ( -- n ) D3DDECLTYPE_UNUSED ; inline
+
+STRUCT: D3DVERTEXELEMENT9
+ { Stream WORD }
+ { Offset WORD }
+ { Type BYTE }
+ { Method BYTE }
+ { Usage BYTE }
+ { UsageIndex BYTE } ;
+TYPEDEF: D3DVERTEXELEMENT9* LPD3DVERTEXELEMENT9
+
+CONSTANT: D3DDP_MAXTEXCOORD 8
+
+CONSTANT: D3DSTREAMSOURCE_INDEXEDDATA HEX: 40000000
+CONSTANT: D3DSTREAMSOURCE_INSTANCEDATA HEX: 80000000
+
+CONSTANT: D3DSI_OPCODE_MASK HEX: 0000FFFF
+CONSTANT: D3DSI_INSTLENGTH_MASK HEX: 0F000000
+CONSTANT: D3DSI_INSTLENGTH_SHIFT 24
+
+TYPEDEF: int D3DSHADER_INSTRUCTION_OPCODE_TYPE
+CONSTANT: D3DSIO_NOP 0
+CONSTANT: D3DSIO_MOV 1
+CONSTANT: D3DSIO_ADD 2
+CONSTANT: D3DSIO_SUB 3
+CONSTANT: D3DSIO_MAD 4
+CONSTANT: D3DSIO_MUL 5
+CONSTANT: D3DSIO_RCP 6
+CONSTANT: D3DSIO_RSQ 7
+CONSTANT: D3DSIO_DP3 8
+CONSTANT: D3DSIO_DP4 9
+CONSTANT: D3DSIO_MIN 10
+CONSTANT: D3DSIO_MAX 11
+CONSTANT: D3DSIO_SLT 12
+CONSTANT: D3DSIO_SGE 13
+CONSTANT: D3DSIO_EXP 14
+CONSTANT: D3DSIO_LOG 15
+CONSTANT: D3DSIO_LIT 16
+CONSTANT: D3DSIO_DST 17
+CONSTANT: D3DSIO_LRP 18
+CONSTANT: D3DSIO_FRC 19
+CONSTANT: D3DSIO_M4x4 20
+CONSTANT: D3DSIO_M4x3 21
+CONSTANT: D3DSIO_M3x4 22
+CONSTANT: D3DSIO_M3x3 23
+CONSTANT: D3DSIO_M3x2 24
+CONSTANT: D3DSIO_CALL 25
+CONSTANT: D3DSIO_CALLNZ 26
+CONSTANT: D3DSIO_LOOP 27
+CONSTANT: D3DSIO_RET 28
+CONSTANT: D3DSIO_ENDLOOP 29
+CONSTANT: D3DSIO_LABEL 30
+CONSTANT: D3DSIO_DCL 31
+CONSTANT: D3DSIO_POW 32
+CONSTANT: D3DSIO_CRS 33
+CONSTANT: D3DSIO_SGN 34
+CONSTANT: D3DSIO_ABS 35
+CONSTANT: D3DSIO_NRM 36
+CONSTANT: D3DSIO_SINCOS 37
+CONSTANT: D3DSIO_REP 38
+CONSTANT: D3DSIO_ENDREP 39
+CONSTANT: D3DSIO_IF 40
+CONSTANT: D3DSIO_IFC 41
+CONSTANT: D3DSIO_ELSE 42
+CONSTANT: D3DSIO_ENDIF 43
+CONSTANT: D3DSIO_BREAK 44
+CONSTANT: D3DSIO_BREAKC 45
+CONSTANT: D3DSIO_MOVA 46
+CONSTANT: D3DSIO_DEFB 47
+CONSTANT: D3DSIO_DEFI 48
+CONSTANT: D3DSIO_TEXCOORD 64
+CONSTANT: D3DSIO_TEXKILL 65
+CONSTANT: D3DSIO_TEX 66
+CONSTANT: D3DSIO_TEXBEM 67
+CONSTANT: D3DSIO_TEXBEML 68
+CONSTANT: D3DSIO_TEXREG2AR 69
+CONSTANT: D3DSIO_TEXREG2GB 70
+CONSTANT: D3DSIO_TEXM3x2PAD 71
+CONSTANT: D3DSIO_TEXM3x2TEX 72
+CONSTANT: D3DSIO_TEXM3x3PAD 73
+CONSTANT: D3DSIO_TEXM3x3TEX 74
+CONSTANT: D3DSIO_RESERVED0 75
+CONSTANT: D3DSIO_TEXM3x3SPEC 76
+CONSTANT: D3DSIO_TEXM3x3VSPEC 77
+CONSTANT: D3DSIO_EXPP 78
+CONSTANT: D3DSIO_LOGP 79
+CONSTANT: D3DSIO_CND 80
+CONSTANT: D3DSIO_DEF 81
+CONSTANT: D3DSIO_TEXREG2RGB 82
+CONSTANT: D3DSIO_TEXDP3TEX 83
+CONSTANT: D3DSIO_TEXM3x2DEPTH 84
+CONSTANT: D3DSIO_TEXDP3 85
+CONSTANT: D3DSIO_TEXM3x3 86
+CONSTANT: D3DSIO_TEXDEPTH 87
+CONSTANT: D3DSIO_CMP 88
+CONSTANT: D3DSIO_BEM 89
+CONSTANT: D3DSIO_DP2ADD 90
+CONSTANT: D3DSIO_DSX 91
+CONSTANT: D3DSIO_DSY 92
+CONSTANT: D3DSIO_TEXLDD 93
+CONSTANT: D3DSIO_SETP 94
+CONSTANT: D3DSIO_TEXLDL 95
+CONSTANT: D3DSIO_BREAKP 96
+CONSTANT: D3DSIO_PHASE HEX: FFFD
+CONSTANT: D3DSIO_COMMENT HEX: FFFE
+CONSTANT: D3DSIO_END HEX: FFFF
+CONSTANT: D3DSIO_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DSI_COISSUE HEX: 40000000
+
+CONSTANT: D3DSP_OPCODESPECIFICCONTROL_MASK HEX: 00ff0000
+CONSTANT: D3DSP_OPCODESPECIFICCONTROL_SHIFT 16
+
+: D3DSI_TEXLD_PROJECT ( -- n ) 1 D3DSP_OPCODESPECIFICCONTROL_SHIFT shift ; inline
+: D3DSI_TEXLD_BIAS ( -- n ) 2 D3DSP_OPCODESPECIFICCONTROL_SHIFT shift ; inline
+
+TYPEDEF: int D3DSHADER_COMPARISON
+CONSTANT: D3DSPC_RESERVED0 0
+CONSTANT: D3DSPC_GT 1
+CONSTANT: D3DSPC_EQ 2
+CONSTANT: D3DSPC_GE 3
+CONSTANT: D3DSPC_LT 4
+CONSTANT: D3DSPC_NE 5
+CONSTANT: D3DSPC_LE 6
+CONSTANT: D3DSPC_RESERVED1 7
+
+CONSTANT: D3DSHADER_COMPARISON_SHIFT D3DSP_OPCODESPECIFICCONTROL_SHIFT
+: D3DSHADER_COMPARISON_MASK ( -- n ) 7 D3DSHADER_COMPARISON_SHIFT shift ; inline
+
+CONSTANT: D3DSHADER_INSTRUCTION_PREDICATED HEX: 10000000
+
+CONSTANT: D3DSP_DCL_USAGE_SHIFT 0
+CONSTANT: D3DSP_DCL_USAGE_MASK HEX: 0000000f
+
+CONSTANT: D3DSP_DCL_USAGEINDEX_SHIFT 16
+CONSTANT: D3DSP_DCL_USAGEINDEX_MASK HEX: 000f0000
+
+CONSTANT: D3DSP_TEXTURETYPE_SHIFT 27
+CONSTANT: D3DSP_TEXTURETYPE_MASK HEX: 78000000
+
+TYPEDEF: int D3DSAMPLER_TEXTURE_TYPE
+: D3DSTT_UNKNOWN ( -- n ) 0 D3DSP_TEXTURETYPE_SHIFT shift ; inline
+: D3DSTT_2D ( -- n ) 2 D3DSP_TEXTURETYPE_SHIFT shift ; inline
+: D3DSTT_CUBE ( -- n ) 3 D3DSP_TEXTURETYPE_SHIFT shift ; inline
+: D3DSTT_VOLUME ( -- n ) 4 D3DSP_TEXTURETYPE_SHIFT shift ; inline
+CONSTANT: D3DSTT_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DSP_REGNUM_MASK HEX: 000007FF
+
+CONSTANT: D3DSP_WRITEMASK_0 HEX: 00010000
+CONSTANT: D3DSP_WRITEMASK_1 HEX: 00020000
+CONSTANT: D3DSP_WRITEMASK_2 HEX: 00040000
+CONSTANT: D3DSP_WRITEMASK_3 HEX: 00080000
+CONSTANT: D3DSP_WRITEMASK_ALL HEX: 000F0000
+
+CONSTANT: D3DSP_DSTMOD_SHIFT 20
+CONSTANT: D3DSP_DSTMOD_MASK HEX: 00F00000
+
+: D3DSPDM_NONE ( -- n ) 0 D3DSP_DSTMOD_SHIFT shift ; inline
+: D3DSPDM_SATURATE ( -- n ) 1 D3DSP_DSTMOD_SHIFT shift ; inline
+: D3DSPDM_PARTIALPRECISION ( -- n ) 2 D3DSP_DSTMOD_SHIFT shift ; inline
+: D3DSPDM_MSAMPCENTROID ( -- n ) 4 D3DSP_DSTMOD_SHIFT shift ; inline
+
+CONSTANT: D3DSP_DSTSHIFT_SHIFT 24
+CONSTANT: D3DSP_DSTSHIFT_MASK HEX: 0F000000
+
+CONSTANT: D3DSP_REGTYPE_SHIFT 28
+CONSTANT: D3DSP_REGTYPE_SHIFT2 8
+CONSTANT: D3DSP_REGTYPE_MASK HEX: 70000000
+CONSTANT: D3DSP_REGTYPE_MASK2 HEX: 00001800
+
+TYPEDEF: int D3DSHADER_PARAM_REGISTER_TYPE
+CONSTANT: D3DSPR_TEMP 0
+CONSTANT: D3DSPR_INPUT 1
+CONSTANT: D3DSPR_CONST 2
+CONSTANT: D3DSPR_ADDR 3
+CONSTANT: D3DSPR_TEXTURE 3
+CONSTANT: D3DSPR_RASTOUT 4
+CONSTANT: D3DSPR_ATTROUT 5
+CONSTANT: D3DSPR_TEXCRDOUT 6
+CONSTANT: D3DSPR_OUTPUT 6
+CONSTANT: D3DSPR_CONSTINT 7
+CONSTANT: D3DSPR_COLOROUT 8
+CONSTANT: D3DSPR_DEPTHOUT 9
+CONSTANT: D3DSPR_SAMPLER 10
+CONSTANT: D3DSPR_CONST2 11
+CONSTANT: D3DSPR_CONST3 12
+CONSTANT: D3DSPR_CONST4 13
+CONSTANT: D3DSPR_CONSTBOOL 14
+CONSTANT: D3DSPR_LOOP 15
+CONSTANT: D3DSPR_TEMPFLOAT16 16
+CONSTANT: D3DSPR_MISCTYPE 17
+CONSTANT: D3DSPR_LABEL 18
+CONSTANT: D3DSPR_PREDICATE 19
+CONSTANT: D3DSPR_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DSHADER_MISCTYPE_OFFSETS
+CONSTANT: D3DSMO_POSITION 0
+CONSTANT: D3DSMO_FACE 1
+
+TYPEDEF: int D3DVS_RASTOUT_OFFSETS
+CONSTANT: D3DSRO_POSITION 0
+CONSTANT: D3DSRO_FOG 1
+CONSTANT: D3DSRO_POINT_SIZE 2
+CONSTANT: D3DSRO_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DVS_ADDRESSMODE_SHIFT 13
+: D3DVS_ADDRESSMODE_MASK ( -- n ) 1 D3DVS_ADDRESSMODE_SHIFT shift ; inline
+
+TYPEDEF: int D3DVS_ADDRESSMODE_TYPE
+: D3DVS_ADDRMODE_ABSOLUTE ( -- n ) 0 D3DVS_ADDRESSMODE_SHIFT shift ; inline
+: D3DVS_ADDRMODE_RELATIVE ( -- n ) 1 D3DVS_ADDRESSMODE_SHIFT shift ; inline
+CONSTANT: D3DVS_ADDRMODE_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DSHADER_ADDRESSMODE_SHIFT 13
+: D3DSHADER_ADDRESSMODE_MASK ( -- n ) 1 D3DSHADER_ADDRESSMODE_SHIFT shift ; inline
+
+TYPEDEF: int D3DSHADER_ADDRESSMODE_TYPE
+: D3DSHADER_ADDRMODE_ABSOLUTE ( -- n ) 0 D3DSHADER_ADDRESSMODE_SHIFT shift ; inline
+: D3DSHADER_ADDRMODE_RELATIVE ( -- n ) 1 D3DSHADER_ADDRESSMODE_SHIFT shift ; inline
+CONSTANT: D3DSHADER_ADDRMODE_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DVS_SWIZZLE_SHIFT 16
+CONSTANT: D3DVS_SWIZZLE_MASK HEX: 00FF0000
+
+: D3DVS_X_X ( -- n ) 0 D3DVS_SWIZZLE_SHIFT shift ; inline
+: D3DVS_X_Y ( -- n ) 1 D3DVS_SWIZZLE_SHIFT shift ; inline
+: D3DVS_X_Z ( -- n ) 2 D3DVS_SWIZZLE_SHIFT shift ; inline
+: D3DVS_X_W ( -- n ) 3 D3DVS_SWIZZLE_SHIFT shift ; inline
+
+: D3DVS_Y_X ( -- n ) 0 D3DVS_SWIZZLE_SHIFT 2 + shift ; inline
+: D3DVS_Y_Y ( -- n ) 1 D3DVS_SWIZZLE_SHIFT 2 + shift ; inline
+: D3DVS_Y_Z ( -- n ) 2 D3DVS_SWIZZLE_SHIFT 2 + shift ; inline
+: D3DVS_Y_W ( -- n ) 3 D3DVS_SWIZZLE_SHIFT 2 + shift ; inline
+
+: D3DVS_Z_X ( -- n ) 0 D3DVS_SWIZZLE_SHIFT 4 + shift ; inline
+: D3DVS_Z_Y ( -- n ) 1 D3DVS_SWIZZLE_SHIFT 4 + shift ; inline
+: D3DVS_Z_Z ( -- n ) 2 D3DVS_SWIZZLE_SHIFT 4 + shift ; inline
+: D3DVS_Z_W ( -- n ) 3 D3DVS_SWIZZLE_SHIFT 4 + shift ; inline
+
+: D3DVS_W_X ( -- n ) 0 D3DVS_SWIZZLE_SHIFT 6 + shift ; inline
+: D3DVS_W_Y ( -- n ) 1 D3DVS_SWIZZLE_SHIFT 6 + shift ; inline
+: D3DVS_W_Z ( -- n ) 2 D3DVS_SWIZZLE_SHIFT 6 + shift ; inline
+: D3DVS_W_W ( -- n ) 3 D3DVS_SWIZZLE_SHIFT 6 + shift ; inline
+
+: D3DVS_NOSWIZZLE ( -- n )
+ { D3DVS_X_X D3DVS_Y_Y D3DVS_Z_Z D3DVS_W_W } flags ; inline
+
+CONSTANT: D3DSP_SWIZZLE_SHIFT 16
+CONSTANT: D3DSP_SWIZZLE_MASK HEX: 00FF0000
+CONSTANT: D3DSP_SRCMOD_SHIFT 24
+CONSTANT: D3DSP_SRCMOD_MASK HEX: 0F000000
+
+TYPEDEF: int D3DSHADER_PARAM_SRCMOD_TYPE
+: D3DSPSM_NONE ( -- n ) 0 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_NEG ( -- n ) 1 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_BIAS ( -- n ) 2 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_BIASNEG ( -- n ) 3 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_SIGN ( -- n ) 4 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_SIGNNEG ( -- n ) 5 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_COMP ( -- n ) 6 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_X2 ( -- n ) 7 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_X2NEG ( -- n ) 8 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_DZ ( -- n ) 9 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_DW ( -- n ) 10 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_ABS ( -- n ) 11 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_ABSNEG ( -- n ) 12 D3DSP_SRCMOD_SHIFT shift ; inline
+: D3DSPSM_NOT ( -- n ) 13 D3DSP_SRCMOD_SHIFT shift ; inline
+CONSTANT: D3DSPSM_FORCE_DWORD HEX: 7fffffff
+
+: D3DPS_VERSION ( major minor -- n )
+ swap 8 shift bitor HEX: FFFF0000 bitor ; inline
+: D3DVS_VERSION ( major minor -- n )
+ swap 8 shift bitor HEX: FFFF0000 bitor ; inline
+
+: D3DSHADER_VERSION_MAJOR ( version -- n )
+ -8 shift HEX: FF bitand ; inline
+: D3DSHADER_VERSION_MINOR ( version -- n )
+ HEX: FF bitand ; inline
+
+CONSTANT: D3DSI_COMMENTSIZE_SHIFT 16
+CONSTANT: D3DSI_COMMENTSIZE_MASK HEX: 7FFF0000
+
+CONSTANT: D3DPS_END() HEX: 0000FFFF
+CONSTANT: D3DVS_END() HEX: 0000FFFF
+
+TYPEDEF: int D3DBASISTYPE
+CONSTANT: D3DBASIS_BEZIER 0
+CONSTANT: D3DBASIS_BSPLINE 1
+CONSTANT: D3DBASIS_CATMULL_ROM 2
+CONSTANT: D3DBASIS_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DDEGREETYPE
+CONSTANT: D3DDEGREE_LINEAR 1
+CONSTANT: D3DDEGREE_QUADRATIC 2
+CONSTANT: D3DDEGREE_CUBIC 3
+CONSTANT: D3DDEGREE_QUINTIC 5
+CONSTANT: D3DDEGREE_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DPATCHEDGESTYLE
+CONSTANT: D3DPATCHEDGE_DISCRETE 0
+CONSTANT: D3DPATCHEDGE_CONTINUOUS 1
+CONSTANT: D3DPATCHEDGE_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DSTATEBLOCKTYPE
+CONSTANT: D3DSBT_ALL 1
+CONSTANT: D3DSBT_PIXELSTATE 2
+CONSTANT: D3DSBT_VERTEXSTATE 3
+CONSTANT: D3DSBT_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DVERTEXBLENDFLAGS
+CONSTANT: D3DVBF_DISABLE 0
+CONSTANT: D3DVBF_1WEIGHTS 1
+CONSTANT: D3DVBF_2WEIGHTS 2
+CONSTANT: D3DVBF_3WEIGHTS 3
+CONSTANT: D3DVBF_TWEENING 255
+CONSTANT: D3DVBF_0WEIGHTS 256
+CONSTANT: D3DVBF_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DTEXTURETRANSFORMFLAGS
+CONSTANT: D3DTTFF_DISABLE 0
+CONSTANT: D3DTTFF_COUNT1 1
+CONSTANT: D3DTTFF_COUNT2 2
+CONSTANT: D3DTTFF_COUNT3 3
+CONSTANT: D3DTTFF_COUNT4 4
+CONSTANT: D3DTTFF_PROJECTED 256
+CONSTANT: D3DTTFF_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DFVF_TEXTUREFORMAT2 0
+CONSTANT: D3DFVF_TEXTUREFORMAT1 3
+CONSTANT: D3DFVF_TEXTUREFORMAT3 1
+CONSTANT: D3DFVF_TEXTUREFORMAT4 2
+
+: D3DFVF_TEXCOORDSIZE3 ( CoordIndex -- n )
+ 2 * 16 + D3DFVF_TEXTUREFORMAT3 swap shift ; inline
+: D3DFVF_TEXCOORDSIZE2 ( CoordIndex -- n )
+ drop D3DFVF_TEXTUREFORMAT2 ; inline
+: D3DFVF_TEXCOORDSIZE4 ( CoordIndex -- n )
+ 2 * 16 + D3DFVF_TEXTUREFORMAT4 swap shift ; inline
+: D3DFVF_TEXCOORDSIZE1 ( CoordIndex -- n )
+ 2 * 16 + D3DFVF_TEXTUREFORMAT1 swap shift ; inline
+
+TYPEDEF: int D3DDEVTYPE
+CONSTANT: D3DDEVTYPE_HAL 1
+CONSTANT: D3DDEVTYPE_REF 2
+CONSTANT: D3DDEVTYPE_SW 3
+CONSTANT: D3DDEVTYPE_NULLREF 4
+CONSTANT: D3DDEVTYPE_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DMULTISAMPLE_TYPE
+CONSTANT: D3DMULTISAMPLE_NONE 0
+CONSTANT: D3DMULTISAMPLE_NONMASKABLE 1
+CONSTANT: D3DMULTISAMPLE_2_SAMPLES 2
+CONSTANT: D3DMULTISAMPLE_3_SAMPLES 3
+CONSTANT: D3DMULTISAMPLE_4_SAMPLES 4
+CONSTANT: D3DMULTISAMPLE_5_SAMPLES 5
+CONSTANT: D3DMULTISAMPLE_6_SAMPLES 6
+CONSTANT: D3DMULTISAMPLE_7_SAMPLES 7
+CONSTANT: D3DMULTISAMPLE_8_SAMPLES 8
+CONSTANT: D3DMULTISAMPLE_9_SAMPLES 9
+CONSTANT: D3DMULTISAMPLE_10_SAMPLES 10
+CONSTANT: D3DMULTISAMPLE_11_SAMPLES 11
+CONSTANT: D3DMULTISAMPLE_12_SAMPLES 12
+CONSTANT: D3DMULTISAMPLE_13_SAMPLES 13
+CONSTANT: D3DMULTISAMPLE_14_SAMPLES 14
+CONSTANT: D3DMULTISAMPLE_15_SAMPLES 15
+CONSTANT: D3DMULTISAMPLE_16_SAMPLES 16
+CONSTANT: D3DMULTISAMPLE_FORCE_DWORD HEX: 7fffffff
+
+:: MAKEFOURCC ( ch0 ch1 ch2 ch3 -- n )
+ ch3 HEX: ff bitand 24 shift
+ ch2 HEX: ff bitand 16 shift
+ ch1 HEX: ff bitand 8 shift
+ ch0 HEX: ff bitand bitor bitor bitor ; inline
+
+TYPEDEF: int D3DFORMAT
+CONSTANT: D3DFMT_UNKNOWN 0
+CONSTANT: D3DFMT_R8G8B8 20
+CONSTANT: D3DFMT_A8R8G8B8 21
+CONSTANT: D3DFMT_X8R8G8B8 22
+CONSTANT: D3DFMT_R5G6B5 23
+CONSTANT: D3DFMT_X1R5G5B5 24
+CONSTANT: D3DFMT_A1R5G5B5 25
+CONSTANT: D3DFMT_A4R4G4B4 26
+CONSTANT: D3DFMT_R3G3B2 27
+CONSTANT: D3DFMT_A8 28
+CONSTANT: D3DFMT_A8R3G3B2 29
+CONSTANT: D3DFMT_X4R4G4B4 30
+CONSTANT: D3DFMT_A2B10G10R10 31
+CONSTANT: D3DFMT_A8B8G8R8 32
+CONSTANT: D3DFMT_X8B8G8R8 33
+CONSTANT: D3DFMT_G16R16 34
+CONSTANT: D3DFMT_A2R10G10B10 35
+CONSTANT: D3DFMT_A16B16G16R16 36
+CONSTANT: D3DFMT_A8P8 40
+CONSTANT: D3DFMT_P8 41
+CONSTANT: D3DFMT_L8 50
+CONSTANT: D3DFMT_A8L8 51
+CONSTANT: D3DFMT_A4L4 52
+CONSTANT: D3DFMT_V8U8 60
+CONSTANT: D3DFMT_L6V5U5 61
+CONSTANT: D3DFMT_X8L8V8U8 62
+CONSTANT: D3DFMT_Q8W8V8U8 63
+CONSTANT: D3DFMT_V16U16 64
+CONSTANT: D3DFMT_A2W10V10U10 67
+#! : D3DFMT_UYVY ( -- n ) 'U' 'Y' 'V' 'Y' MAKEFOURCC
+#! D3DFMT_R8G8_B8G8 = MAKEFOURCC('R', 'G', 'B', 'G'),
+#! D3DFMT_YUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'),
+#! D3DFMT_G8R8_G8B8 = MAKEFOURCC('G', 'R', 'G', 'B'),
+#! D3DFMT_DXT1 = MAKEFOURCC('D', 'X', 'T', '1'),
+#! D3DFMT_DXT2 = MAKEFOURCC('D', 'X', 'T', '2'),
+#! D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'),
+#! D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'),
+#! D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'),
+CONSTANT: D3DFMT_D16_LOCKABLE 70
+CONSTANT: D3DFMT_D32 71
+CONSTANT: D3DFMT_D15S1 73
+CONSTANT: D3DFMT_D24S8 75
+CONSTANT: D3DFMT_D24X8 77
+CONSTANT: D3DFMT_D24X4S4 79
+CONSTANT: D3DFMT_D16 80
+CONSTANT: D3DFMT_D32F_LOCKABLE 82
+CONSTANT: D3DFMT_D24FS8 83
+CONSTANT: D3DFMT_D32_LOCKABLE 84
+CONSTANT: D3DFMT_S8_LOCKABLE 85
+CONSTANT: D3DFMT_L16 81
+CONSTANT: D3DFMT_VERTEXDATA 100
+CONSTANT: D3DFMT_INDEX16 101
+CONSTANT: D3DFMT_INDEX32 102
+CONSTANT: D3DFMT_Q16W16V16U16 110
+#! D3DFMT_MULTI2_ARGB8 = MAKEFOURCC('M', 'E', 'T', '1'),
+CONSTANT: D3DFMT_R16F 111
+CONSTANT: D3DFMT_G16R16F 112
+CONSTANT: D3DFMT_A16B16G16R16F 113
+CONSTANT: D3DFMT_R32F 114
+CONSTANT: D3DFMT_G32R32F 115
+CONSTANT: D3DFMT_A32B32G32R32F 116
+CONSTANT: D3DFMT_CxV8U8 117
+CONSTANT: D3DFMT_A1 118
+CONSTANT: D3DFMT_A2B10G10R10_XR_BIAS 119
+CONSTANT: D3DFMT_BINARYBUFFER 199
+CONSTANT: D3DFMT_FORCE_DWORD HEX: 7fffffff
+
+STRUCT: D3DDISPLAYMODE
+ { Width UINT }
+ { Height UINT }
+ { RefreshRate UINT }
+ { Format D3DFORMAT } ;
+
+STRUCT: D3DDEVICE_CREATION_PARAMETERS
+ { AdapterOrdinal UINT }
+ { DeviceType D3DDEVTYPE }
+ { hFocusWindow HWND }
+ { BehaviorFlags DWORD } ;
+
+TYPEDEF: int D3DSWAPEFFECT
+CONSTANT: D3DSWAPEFFECT_DISCARD 1
+CONSTANT: D3DSWAPEFFECT_FLIP 2
+CONSTANT: D3DSWAPEFFECT_COPY 3
+CONSTANT: D3DSWAPEFFECT_OVERLAY 4
+CONSTANT: D3DSWAPEFFECT_FLIPEX 5
+CONSTANT: D3DSWAPEFFECT_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DPOOL
+CONSTANT: D3DPOOL_DEFAULT 0
+CONSTANT: D3DPOOL_MANAGED 1
+CONSTANT: D3DPOOL_SYSTEMMEM 2
+CONSTANT: D3DPOOL_SCRATCH 3
+CONSTANT: D3DPOOL_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DPRESENT_RATE_DEFAULT HEX: 00000000
+
+STRUCT: D3DPRESENT_PARAMETERS
+ { BackBufferWidth UINT }
+ { BackBufferHeight UINT }
+ { BackBufferFormat D3DFORMAT }
+ { BackBufferCount UINT }
+ { MultiSampleType D3DMULTISAMPLE_TYPE }
+ { MultiSampleQuality DWORD }
+ { SwapEffect D3DSWAPEFFECT }
+ { hDeviceWindow HWND }
+ { Windowed BOOL }
+ { EnableAutoDepthStencil BOOL }
+ { AutoDepthStencilFormat D3DFORMAT }
+ { Flags DWORD }
+ { FullScreen_RefreshRateInHz UINT }
+ { PresentationInterval UINT } ;
+
+CONSTANT: D3DPRESENTFLAG_LOCKABLE_BACKBUFFER HEX: 00000001
+CONSTANT: D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL HEX: 00000002
+CONSTANT: D3DPRESENTFLAG_DEVICECLIP HEX: 00000004
+CONSTANT: D3DPRESENTFLAG_VIDEO HEX: 00000010
+
+CONSTANT: D3DPRESENTFLAG_NOAUTOROTATE HEX: 00000020
+CONSTANT: D3DPRESENTFLAG_UNPRUNEDMODE HEX: 00000040
+CONSTANT: D3DPRESENTFLAG_OVERLAY_LIMITEDRGB HEX: 00000080
+CONSTANT: D3DPRESENTFLAG_OVERLAY_YCbCr_BT709 HEX: 00000100
+CONSTANT: D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC HEX: 00000200
+CONSTANT: D3DPRESENTFLAG_RESTRICTED_CONTENT HEX: 00000400
+CONSTANT: D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER HEX: 00000800
+
+STRUCT: D3DGAMMARAMP
+ { red WORD[256] }
+ { green WORD[256] }
+ { blue WORD[256] } ;
+
+TYPEDEF: int D3DBACKBUFFER_TYPE
+CONSTANT: D3DBACKBUFFER_TYPE_MONO 0
+CONSTANT: D3DBACKBUFFER_TYPE_LEFT 1
+CONSTANT: D3DBACKBUFFER_TYPE_RIGHT 2
+CONSTANT: D3DBACKBUFFER_TYPE_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DRESOURCETYPE
+CONSTANT: D3DRTYPE_SURFACE 1
+CONSTANT: D3DRTYPE_VOLUME 2
+CONSTANT: D3DRTYPE_TEXTURE 3
+CONSTANT: D3DRTYPE_VOLUMETEXTURE 4
+CONSTANT: D3DRTYPE_CUBETEXTURE 5
+CONSTANT: D3DRTYPE_VERTEXBUFFER 6
+CONSTANT: D3DRTYPE_INDEXBUFFER 7
+CONSTANT: D3DRTYPE_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DUSAGE_RENDERTARGET HEX: 00000001
+CONSTANT: D3DUSAGE_DEPTHSTENCIL HEX: 00000002
+CONSTANT: D3DUSAGE_DYNAMIC HEX: 00000200
+
+CONSTANT: D3DUSAGE_NONSECURE HEX: 00800000
+
+CONSTANT: D3DUSAGE_AUTOGENMIPMAP HEX: 00000400
+CONSTANT: D3DUSAGE_DMAP HEX: 00004000
+
+CONSTANT: D3DUSAGE_QUERY_LEGACYBUMPMAP HEX: 00008000
+CONSTANT: D3DUSAGE_QUERY_SRGBREAD HEX: 00010000
+CONSTANT: D3DUSAGE_QUERY_FILTER HEX: 00020000
+CONSTANT: D3DUSAGE_QUERY_SRGBWRITE HEX: 00040000
+CONSTANT: D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING HEX: 00080000
+CONSTANT: D3DUSAGE_QUERY_VERTEXTEXTURE HEX: 00100000
+CONSTANT: D3DUSAGE_QUERY_WRAPANDMIP HEX: 00200000
+
+CONSTANT: D3DUSAGE_WRITEONLY HEX: 00000008
+CONSTANT: D3DUSAGE_SOFTWAREPROCESSING HEX: 00000010
+CONSTANT: D3DUSAGE_DONOTCLIP HEX: 00000020
+CONSTANT: D3DUSAGE_POINTS HEX: 00000040
+CONSTANT: D3DUSAGE_RTPATCHES HEX: 00000080
+CONSTANT: D3DUSAGE_NPATCHES HEX: 00000100
+
+CONSTANT: D3DUSAGE_TEXTAPI HEX: 10000000
+CONSTANT: D3DUSAGE_RESTRICTED_CONTENT HEX: 00000800
+CONSTANT: D3DUSAGE_RESTRICT_SHARED_RESOURCE HEX: 00002000
+CONSTANT: D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER HEX: 00001000
+
+TYPEDEF: int D3DCUBEMAP_FACES
+CONSTANT: D3DCUBEMAP_FACE_POSITIVE_X 0
+CONSTANT: D3DCUBEMAP_FACE_NEGATIVE_X 1
+CONSTANT: D3DCUBEMAP_FACE_POSITIVE_Y 2
+CONSTANT: D3DCUBEMAP_FACE_NEGATIVE_Y 3
+CONSTANT: D3DCUBEMAP_FACE_POSITIVE_Z 4
+CONSTANT: D3DCUBEMAP_FACE_NEGATIVE_Z 5
+CONSTANT: D3DCUBEMAP_FACE_FORCE_DWORD HEX: 7fffffff
+
+CONSTANT: D3DLOCK_READONLY HEX: 00000010
+CONSTANT: D3DLOCK_DISCARD HEX: 00002000
+CONSTANT: D3DLOCK_NOOVERWRITE HEX: 00001000
+CONSTANT: D3DLOCK_NOSYSLOCK HEX: 00000800
+CONSTANT: D3DLOCK_DONOTWAIT HEX: 00004000
+
+CONSTANT: D3DLOCK_NO_DIRTY_UPDATE HEX: 00008000
+
+STRUCT: D3DVERTEXBUFFER_DESC
+ { Format D3DFORMAT }
+ { Type D3DRESOURCETYPE }
+ { Usage DWORD }
+ { Pool D3DPOOL }
+ { Size UINT }
+ { FVF DWORD } ;
+
+STRUCT: D3DINDEXBUFFER_DESC
+ { Format D3DFORMAT }
+ { Type D3DRESOURCETYPE }
+ { Usage DWORD }
+ { Pool D3DPOOL }
+ { Size UINT } ;
+
+STRUCT: D3DSURFACE_DESC
+ { Format D3DFORMAT }
+ { Type D3DRESOURCETYPE }
+ { Usage DWORD }
+ { Pool D3DPOOL }
+ { MultiSampleType D3DMULTISAMPLE_TYPE }
+ { MultiSampleQuality DWORD }
+ { Width UINT }
+ { Height UINT } ;
+
+STRUCT: D3DVOLUME_DESC
+
+ { Format D3DFORMAT }
+ { Type D3DRESOURCETYPE }
+ { Usage DWORD }
+ { Pool D3DPOOL }
+ { Width UINT }
+ { Height UINT }
+ { Depth UINT } ;
+
+STRUCT: D3DLOCKED_RECT
+ { Pitch INT }
+ { pBits void* } ;
+
+STRUCT: D3DBOX
+ { Left UINT }
+ { Top UINT }
+ { Right UINT }
+ { Bottom UINT }
+ { Front UINT }
+ { Back UINT } ;
+
+STRUCT: D3DLOCKED_BOX
+ { RowPitch INT }
+ { SlicePitch INT }
+ { pBits void* } ;
+
+STRUCT: D3DRANGE
+ { Offset UINT }
+ { Size UINT } ;
+
+STRUCT: D3DRECTPATCH_INFO
+ { StartVertexOffsetWidth UINT }
+ { StartVertexOffsetHeight UINT }
+ { Width UINT }
+ { Height UINT }
+ { Stride UINT }
+ { Basis D3DBASISTYPE }
+ { Degree D3DDEGREETYPE } ;
+
+STRUCT: D3DTRIPATCH_INFO
+ { StartVertexOffset UINT }
+ { NumVertices UINT }
+ { Basis D3DBASISTYPE }
+ { Degree D3DDEGREETYPE } ;
+
+CONSTANT: MAX_DEVICE_IDENTIFIER_STRING 512
+
+STRUCT: D3DADAPTER_IDENTIFIER9
+ { Driver char[512] }
+ { Description char[512] }
+ { DeviceName char[32] }
+ { DriverVersion LARGE_INTEGER }
+ { VendorId DWORD }
+ { DeviceId DWORD }
+ { SubSysId DWORD }
+ { Revision DWORD }
+ { DeviceIdentifier GUID }
+ { WHQLLevel DWORD } ;
+
+STRUCT: D3DRASTER_STATUS
+ { InVBlank BOOL }
+ { ScanLine UINT } ;
+
+TYPEDEF: int D3DDEBUGMONITORTOKENS
+CONSTANT: D3DDMT_ENABLE 0
+CONSTANT: D3DDMT_DISABLE 1
+CONSTANT: D3DDMT_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DQUERYTYPE
+CONSTANT: D3DQUERYTYPE_VCACHE 4
+CONSTANT: D3DQUERYTYPE_RESOURCEMANAGER 5
+CONSTANT: D3DQUERYTYPE_VERTEXSTATS 6
+CONSTANT: D3DQUERYTYPE_EVENT 8
+CONSTANT: D3DQUERYTYPE_OCCLUSION 9
+CONSTANT: D3DQUERYTYPE_TIMESTAMP 10
+CONSTANT: D3DQUERYTYPE_TIMESTAMPDISJOINT 11
+CONSTANT: D3DQUERYTYPE_TIMESTAMPFREQ 12
+CONSTANT: D3DQUERYTYPE_PIPELINETIMINGS 13
+CONSTANT: D3DQUERYTYPE_INTERFACETIMINGS 14
+CONSTANT: D3DQUERYTYPE_VERTEXTIMINGS 15
+CONSTANT: D3DQUERYTYPE_PIXELTIMINGS 16
+CONSTANT: D3DQUERYTYPE_BANDWIDTHTIMINGS 17
+CONSTANT: D3DQUERYTYPE_CACHEUTILIZATION 18
+CONSTANT: D3DQUERYTYPE_MEMORYPRESSURE 19
+
+CONSTANT: D3DISSUE_END 1
+CONSTANT: D3DISSUE_BEGIN 2
+
+CONSTANT: D3DGETDATA_FLUSH 1
+
+STRUCT: D3DRESOURCESTATS
+ { bThrashing BOOL }
+ { ApproxBytesDownloaded DWORD }
+ { NumEvicts DWORD }
+ { NumVidCreates DWORD }
+ { LastPri DWORD }
+ { NumUsed DWORD }
+ { NumUsedInVidMem DWORD }
+ { WorkingSet DWORD }
+ { WorkingSetBytes DWORD }
+ { TotalManaged DWORD }
+ { TotalBytes DWORD } ;
+
+CONSTANT: D3DRTYPECOUNT 8
+
+STRUCT: D3DDEVINFO_RESOURCEMANAGER
+ { stats D3DRESOURCESTATS[8] } ;
+TYPEDEF: D3DDEVINFO_RESOURCEMANAGER* LPD3DDEVINFO_RESOURCEMANAGER
+
+STRUCT: D3DDEVINFO_D3DVERTEXSTATS
+ { NumRenderedTriangles DWORD }
+ { NumExtraClippingTriangles DWORD } ;
+TYPEDEF: D3DDEVINFO_D3DVERTEXSTATS* LPD3DDEVINFO_D3DVERTEXSTATS
+
+STRUCT: D3DDEVINFO_VCACHE
+ { Pattern DWORD }
+ { OptMethod DWORD }
+ { CacheSize DWORD }
+ { MagicNumber DWORD } ;
+TYPEDEF: D3DDEVINFO_VCACHE* LPD3DDEVINFO_VCACHE
+
+STRUCT: D3DDEVINFO_D3D9PIPELINETIMINGS
+ { VertexProcessingTimePercent FLOAT }
+ { PixelProcessingTimePercent FLOAT }
+ { OtherGPUProcessingTimePercent FLOAT }
+ { GPUIdleTimePercent FLOAT } ;
+
+STRUCT: D3DDEVINFO_D3D9INTERFACETIMINGS
+ { WaitingForGPUToUseApplicationResourceTimePercent FLOAT }
+ { WaitingForGPUToAcceptMoreCommandsTimePercent FLOAT }
+ { WaitingForGPUToStayWithinLatencyTimePercent FLOAT }
+ { WaitingForGPUExclusiveResourceTimePercent FLOAT }
+ { WaitingForGPUOtherTimePercent FLOAT } ;
+
+STRUCT: D3DDEVINFO_D3D9STAGETIMINGS
+ { MemoryProcessingPercent FLOAT }
+ { ComputationProcessingPercent FLOAT } ;
+
+STRUCT: D3DDEVINFO_D3D9BANDWIDTHTIMINGS
+ { MaxBandwidthUtilized FLOAT }
+ { FrontEndUploadMemoryUtilizedPercent FLOAT }
+ { VertexRateUtilizedPercent FLOAT }
+ { TriangleSetupRateUtilizedPercent FLOAT }
+ { FillRateUtilizedPercent FLOAT } ;
+
+STRUCT: D3DDEVINFO_D3D9CACHEUTILIZATION
+ { TextureCacheHitRate FLOAT }
+ { PostTransformVertexCacheHitRate FLOAT } ;
+
+STRUCT: D3DMEMORYPRESSURE
+ { BytesEvictedFromProcess UINT64 }
+ { SizeOfInefficientAllocation UINT64 }
+ { LevelOfEfficiency DWORD } ;
+
+TYPEDEF: int D3DCOMPOSERECTSOP
+CONSTANT: D3DCOMPOSERECTS_COPY 1
+CONSTANT: D3DCOMPOSERECTS_OR 2
+CONSTANT: D3DCOMPOSERECTS_AND 3
+CONSTANT: D3DCOMPOSERECTS_NEG 4
+CONSTANT: D3DCOMPOSERECTS_FORCE_DWORD HEX: 7fffffff
+
+STRUCT: D3DCOMPOSERECTDESC
+ { X USHORT }
+ { Y USHORT }
+ { Width USHORT }
+ { Height USHORT } ;
+
+STRUCT: D3DCOMPOSERECTDESTINATION
+ { SrcRectIndex USHORT }
+ { Reserved USHORT }
+ { X SHORT }
+ { Y SHORT } ;
+
+CONSTANT: D3DCOMPOSERECTS_MAXNUMRECTS HEX: FFFF
+CONSTANT: D3DCONVOLUTIONMONO_MAXWIDTH 7
+: D3DCONVOLUTIONMONO_MAXHEIGHT ( -- n ) D3DCONVOLUTIONMONO_MAXWIDTH ; inline
+CONSTANT: D3DFMT_A1_SURFACE_MAXWIDTH 8192
+CONSTANT: D3DFMT_A1_SURFACE_MAXHEIGHT 2048
+
+STRUCT: D3DPRESENTSTATS
+ { PresentCount UINT }
+ { PresentRefreshCount UINT }
+ { SyncRefreshCount UINT }
+ { SyncQPCTime LARGE_INTEGER }
+ { SyncGPUTime LARGE_INTEGER } ;
+
+TYPEDEF: int D3DSCANLINEORDERING
+CONSTANT: D3DSCANLINEORDERING_UNKNOWN 0
+CONSTANT: D3DSCANLINEORDERING_PROGRESSIVE 1
+CONSTANT: D3DSCANLINEORDERING_INTERLACED 2
+
+STRUCT: D3DDISPLAYMODEEX
+ { Size UINT }
+ { Width UINT }
+ { Height UINT }
+ { RefreshRate UINT }
+ { Format D3DFORMAT }
+ { ScanLineOrdering D3DSCANLINEORDERING } ;
+
+STRUCT: D3DDISPLAYMODEFILTER
+ { Size UINT }
+ { Format D3DFORMAT }
+ { ScanLineOrdering D3DSCANLINEORDERING } ;
+
+TYPEDEF: int D3DDISPLAYROTATION
+CONSTANT: D3DDISPLAYROTATION_IDENTITY 1
+CONSTANT: D3DDISPLAYROTATION_90 2
+CONSTANT: D3DDISPLAYROTATION_180 3
+CONSTANT: D3DDISPLAYROTATION_270 4
+
+CONSTANT: D3D9_RESOURCE_PRIORITY_MINIMUM HEX: 28000000
+CONSTANT: D3D9_RESOURCE_PRIORITY_LOW HEX: 50000000
+CONSTANT: D3D9_RESOURCE_PRIORITY_NORMAL HEX: 78000000
+CONSTANT: D3D9_RESOURCE_PRIORITY_HIGH HEX: a0000000
+CONSTANT: D3D9_RESOURCE_PRIORITY_MAXIMUM HEX: c8000000
+
+CONSTANT: D3D_OMAC_SIZE 16
+
+STRUCT: D3D_OMAC
+ { Omac BYTE[D3D_OMAC_SIZE] } ;
+
+TYPEDEF: int D3DAUTHENTICATEDCHANNELTYPE
+CONSTANT: D3DAUTHENTICATEDCHANNEL_D3D9 1
+CONSTANT: D3DAUTHENTICATEDCHANNEL_DRIVER_SOFTWARE 2
+CONSTANT: D3DAUTHENTICATEDCHANNEL_DRIVER_HARDWARE 3
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT
+ { QueryType GUID }
+ { hChannel HANDLE }
+ { SequenceNumber UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT
+ { omac D3D_OMAC }
+ { QueryType GUID }
+ { hChannel HANDLE }
+ { SequenceNumber UINT }
+ { ReturnCode HRESULT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS
+ { Value UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYPROTECTION_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { ProtectionFlags D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYCHANNELTYPE_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { ChannelType D3DAUTHENTICATEDCHANNELTYPE } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYDEVICEHANDLE_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { DeviceHandle HANDLE } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_INPUT
+ { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT }
+ { DXVA2DecodeHandle HANDLE } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { DXVA2DecodeHandle HANDLE }
+ { CryptoSessionHandle HANDLE }
+ { DeviceHandle HANDLE } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESSCOUNT_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { NumRestrictedSharedResourceProcesses UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_INPUT
+ { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT }
+ { ProcessIndex UINT } ;
+
+TYPEDEF: int D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE
+CONSTANT: PROCESSIDTYPE_UNKNOWN 0
+CONSTANT: PROCESSIDTYPE_DWM 1
+CONSTANT: PROCESSIDTYPE_HANDLE 2
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { ProcessIndex UINT }
+ { ProcessIdentifer D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE }
+ { ProcessHandle HANDLE } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYUNRESTRICTEDPROTECTEDSHAREDRESOURCECOUNT_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { NumUnrestrictedProtectedSharedResources UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_INPUT
+ { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT }
+ { DeviceHandle HANDLE }
+ { CryptoSessionHandle HANDLE } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { DeviceHandle HANDLE }
+ { CryptoSessionHandle HANDLE }
+ { NumOutputIDs UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_INPUT
+ { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT }
+ { DeviceHandle HANDLE }
+ { CryptoSessionHandle HANDLE }
+ { OutputIDIndex UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { DeviceHandle HANDLE }
+ { CryptoSessionHandle HANDLE }
+ { OutputIDIndex UINT }
+ { OutputID UINT64 } ;
+
+TYPEDEF: int D3DBUSTYPE
+CONSTANT: D3DBUSTYPE_OTHER HEX: 00000000
+CONSTANT: D3DBUSTYPE_PCI HEX: 00000001
+CONSTANT: D3DBUSTYPE_PCIX HEX: 00000002
+CONSTANT: D3DBUSTYPE_PCIEXPRESS HEX: 00000003
+CONSTANT: D3DBUSTYPE_AGP HEX: 00000004
+CONSTANT: D3DBUSIMPL_MODIFIER_INSIDE_OF_CHIPSET HEX: 00010000
+CONSTANT: D3DBUSIMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP HEX: 00020000
+CONSTANT: D3DBUSIMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET HEX: 00030000
+CONSTANT: D3DBUSIMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR HEX: 00040000
+CONSTANT: D3DBUSIMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE HEX: 00050000
+CONSTANT: D3DBUSIMPL_MODIFIER_NON_STANDARD HEX: 80000000
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYINFOBUSTYPE_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { BusType D3DBUSTYPE }
+ { bAccessibleInContiguousBlocks BOOL }
+ { bAccessibleInNonContiguousBlocks BOOL } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUIDCOUNT_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { NumEncryptionGuids UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_INPUT
+ { Input D3DAUTHENTICATEDCHANNEL_QUERY_INPUT }
+ { EncryptionGuidIndex UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { EncryptionGuidIndex UINT }
+ { EncryptionGuid GUID } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_QUERYUNCOMPRESSEDENCRYPTIONLEVEL_OUTPUT
+ { Output D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT }
+ { EncryptionGuid GUID } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT
+ { omac D3D_OMAC }
+ { ConfigureType GUID }
+ { hChannel HANDLE }
+ { SequenceNumber UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT
+ { omac D3D_OMAC }
+ { ConfigureType GUID }
+ { hChannel HANDLE }
+ { SequenceNumber UINT }
+ { ReturnCode HRESULT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGUREINITIALIZE
+ { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT }
+ { StartSequenceQuery UINT }
+ { StartSequenceConfigure UINT } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGUREPROTECTION
+ { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT }
+ { Protections D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGURECRYPTOSESSION
+ { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT }
+ { DXVA2DecodeHandle HANDLE }
+ { CryptoSessionHandle HANDLE }
+ { DeviceHandle HANDLE } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGURESHAREDRESOURCE
+ { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT }
+ { ProcessIdentiferType D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE }
+ { ProcessHandle HANDLE }
+ { AllowAccess BOOL } ;
+
+STRUCT: D3DAUTHENTICATEDCHANNEL_CONFIGUREUNCOMPRESSEDENCRYPTION
+ { Parameters D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT }
+ { EncryptionGuid GUID } ;
+
+STRUCT: D3DENCRYPTED_BLOCK_INFO
+ { NumEncryptedBytesAtBeginning UINT }
+ { NumBytesInSkipPattern UINT }
+ { NumBytesInEncryptPattern UINT } ;
+
+STRUCT: D3DAES_CTR_IV
+ { IV UINT64 }
+ { Count UINT64 } ;
--- /dev/null
+DirectX 9 bindings. Corresponds to d3d9types.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax ;
+IN: windows.directx.d3dcommon
+
+CONSTANT: D3D_DRIVER_TYPE_UNKNOWN 0
+CONSTANT: D3D_DRIVER_TYPE_HARDWARE 1
+CONSTANT: D3D_DRIVER_TYPE_REFERENCE 2
+CONSTANT: D3D_DRIVER_TYPE_NULL 3
+CONSTANT: D3D_DRIVER_TYPE_SOFTWARE 4
+CONSTANT: D3D_DRIVER_TYPE_WARP 5
+TYPEDEF: int D3D_DRIVER_TYPE
+
+CONSTANT: D3D_FEATURE_LEVEL_9_1 HEX: 9100
+CONSTANT: D3D_FEATURE_LEVEL_9_2 HEX: 9200
+CONSTANT: D3D_FEATURE_LEVEL_9_3 HEX: 9300
+CONSTANT: D3D_FEATURE_LEVEL_10_0 HEX: a000
+CONSTANT: D3D_FEATURE_LEVEL_10_1 HEX: a100
+CONSTANT: D3D_FEATURE_LEVEL_11_0 HEX: b000
+TYPEDEF: int D3D_FEATURE_LEVEL
--- /dev/null
+Common constants. Corresponds to d3dcommon.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax windows.ole32 windows.types ;
+IN: windows.directx.d3dcompiler
+
+LIBRARY: d3dcompiler
+
+C-TYPE: D3D_SHADER_MACRO
+C-TYPE: ID3DBlob
+TYPEDEF: ID3DBlob* LPD3DBLOB
+C-TYPE: ID3DInclude
+TYPEDEF: ID3DInclude* LPD3DINCLUDE
+C-TYPE: ID3D10Effect
+
+FUNCTION: HRESULT D3DCompile (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ LPCSTR pSourceName,
+ D3D_SHADER_MACRO* pDefines,
+ LPD3DINCLUDE pInclude,
+ LPCSTR pEntrypoint,
+ LPCSTR pTarget,
+ UINT Flags1,
+ UINT Flags2,
+ LPD3DBLOB* ppCode,
+ LPD3DBLOB* ppErrorMsgs ) ;
+
+FUNCTION: HRESULT D3DPreprocess (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ LPCSTR pSourceName,
+ D3D_SHADER_MACRO* pDefines,
+ LPD3DINCLUDE pInclude,
+ LPD3DBLOB* ppCodeText,
+ LPD3DBLOB* ppErrorMsgs ) ;
+
+FUNCTION: HRESULT D3DGetDebugInfo (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ LPD3DBLOB* ppDebugInfo ) ;
+
+FUNCTION: HRESULT D3DReflect (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ REFIID pInterface,
+ void** ppReflector ) ;
+
+CONSTANT: D3D_DISASM_ENABLE_COLOR_CODE 1
+CONSTANT: D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS 2
+CONSTANT: D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING 4
+CONSTANT: D3D_DISASM_ENABLE_INSTRUCTION_CYCLE 8
+
+FUNCTION: HRESULT D3DDisassemble (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ UINT Flags,
+ LPCSTR szComments,
+ LPD3DBLOB* ppDisassembly ) ;
+
+FUNCTION: HRESULT D3DDisassemble10Effect (
+ ID3D10Effect* pEffect,
+ UINT Flags,
+ LPD3DBLOB* ppDisassembly ) ;
+
+FUNCTION: HRESULT D3DGetInputSignatureBlob (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ LPD3DBLOB* ppSignatureBlob ) ;
+
+FUNCTION: HRESULT D3DGetOutputSignatureBlob (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ LPD3DBLOB* ppSignatureBlob ) ;
+
+FUNCTION: HRESULT D3DGetInputAndOutputSignatureBlob (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ LPD3DBLOB* ppSignatureBlob ) ;
+
+CONSTANT: D3DCOMPILER_STRIP_REFLECTION_DATA 1
+CONSTANT: D3DCOMPILER_STRIP_DEBUG_INFO 2
+CONSTANT: D3DCOMPILER_STRIP_TEST_BLOBS 4
+CONSTANT: D3DCOMPILER_STRIP_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3DCOMPILER_STRIP_FLAGS
+
+FUNCTION: HRESULT D3DStripShader (
+ LPCVOID pShaderBytecode,
+ SIZE_T BytecodeLength,
+ UINT uStripFlags,
+ LPD3DBLOB* ppStrippedBlob ) ;
+
--- /dev/null
+Shader compiler bindings. Corresponds to d3dcompiler.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com windows.com.syntax
+windows.directx.d3d11 windows.types ;
+IN: windows.directx.d3dcsx
+
+LIBRARY: d3dcsx
+
+CONSTANT: D3DX11_SCAN_DATA_TYPE_FLOAT 1
+CONSTANT: D3DX11_SCAN_DATA_TYPE_INT 2
+CONSTANT: D3DX11_SCAN_DATA_TYPE_UINT 3
+TYPEDEF: int D3DX11_SCAN_DATA_TYPE
+
+CONSTANT: D3DX11_SCAN_OPCODE_ADD 1
+CONSTANT: D3DX11_SCAN_OPCODE_MIN 2
+CONSTANT: D3DX11_SCAN_OPCODE_MAX 3
+CONSTANT: D3DX11_SCAN_OPCODE_MUL 4
+CONSTANT: D3DX11_SCAN_OPCODE_AND 5
+CONSTANT: D3DX11_SCAN_OPCODE_OR 6
+CONSTANT: D3DX11_SCAN_OPCODE_XOR 7
+TYPEDEF: int D3DX11_SCAN_OPCODE
+
+CONSTANT: D3DX11_SCAN_DIRECTION_FORWARD 1
+CONSTANT: D3DX11_SCAN_DIRECTION_BACKWARD 2
+TYPEDEF: int D3DX11_SCAN_DIRECTION
+
+COM-INTERFACE: ID3DX11Scan IUnknown {5089b68f-e71d-4d38-be8e-f363b95a9405}
+ HRESULT SetScanDirection ( D3DX11_SCAN_DIRECTION Direction )
+ HRESULT Scan ( D3DX11_SCAN_DATA_TYPE ElementType, D3DX11_SCAN_OPCODE OpCode, UINT ElementScanSize, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pDst )
+ HRESULT Multiscan ( D3DX11_SCAN_DATA_TYPE ElementType, D3DX11_SCAN_OPCODE OpCode, UINT ElementScanSize, UINT ElementScanPitch, UINT ScanCount, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pDst ) ;
+
+FUNCTION: HRESULT D3DX11CreateScan ( ID3D11DeviceContext* pDeviceContext, UINT MaxElementScanSize, UINT MaxScanCount, ID3DX11Scan** ppScan ) ;
+
+COM-INTERFACE: ID3DX11SegmentedScan IUnknown {a915128c-d954-4c79-bfe1-64db923194d6}
+ HRESULT SetScanDirection ( D3DX11_SCAN_DIRECTION Direction )
+ HRESULT SegScan ( D3DX11_SCAN_DATA_TYPE ElementType, D3DX11_SCAN_OPCODE OpCode, UINT ElementScanSize, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pSrcElementFlags, ID3D11UnorderedAccessView* pDst ) ;
+
+FUNCTION: HRESULT D3DX11CreateSegmentedScan ( ID3D11DeviceContext* pDeviceContext, UINT MaxElementScanSize, ID3DX11SegmentedScan** ppScan ) ;
+
+CONSTANT: D3DX11_FFT_MAX_PRECOMPUTE_BUFFERS 4
+CONSTANT: D3DX11_FFT_MAX_TEMP_BUFFERS 4
+CONSTANT: D3DX11_FFT_MAX_DIMENSIONS 32
+
+COM-INTERFACE: ID3DX11FFT IUnknown {b3f7a938-4c93-4310-a675-b30d6de50553}
+ HRESULT SetForwardScale ( FLOAT ForwardScale )
+ FLOAT GetForwardScale ( )
+ HRESULT SetInverseScale ( FLOAT InverseScale )
+ FLOAT GetInverseScale ( )
+ HRESULT AttachBuffersAndPrecompute ( UINT NumTempBuffers, ID3D11UnorderedAccessView** ppTempBuffers, UINT NumPrecomputeBuffers, ID3D11UnorderedAccessView** ppPrecomputeBufferSizes )
+ HRESULT ForwardTransform ( ID3D11UnorderedAccessView* pInputBuffer, ID3D11UnorderedAccessView** ppOutputBuffer )
+ HRESULT InverseTransform ( ID3D11UnorderedAccessView* pInputBuffer, ID3D11UnorderedAccessView** ppOutputBuffer ) ;
+
+C-ENUM:
+ D3DX11_FFT_DATA_TYPE_REAL
+ D3DX11_FFT_DATA_TYPE_COMPLEX ;
+TYPEDEF: int D3DX11_FFT_DATA_TYPE
+
+CONSTANT: D3DX11_FFT_DIM_MASK_1D 1
+CONSTANT: D3DX11_FFT_DIM_MASK_2D 3
+CONSTANT: D3DX11_FFT_DIM_MASK_3D 7
+TYPEDEF: int D3DX11_FFT_DIM_MASK
+
+STRUCT: D3DX11_FFT_DESC
+ { NumDimensions UINT }
+ { ElementLengths UINT[D3DX11_FFT_MAX_DIMENSIONS] }
+ { DimensionMask UINT }
+ { Type D3DX11_FFT_DATA_TYPE } ;
+
+STRUCT: D3DX11_FFT_BUFFER_INFO
+ { NumTempBufferSize UINT }
+ { TempBufferFloatSizes UINT[D3DX11_FFT_MAX_TEMP_BUFFERS] }
+ { NumPrecomputeBufferSizes UINT }
+ { PrecomputeBufferFloatSizes UINT[D3DX11_FFT_MAX_PRECOMPUTE_BUFFERS] } ;
+
+CONSTANT: D3DX11_FFT_CREATE_FLAG_NO_PRECOMPUTE_BUFFERS 1
+TYPEDEF: int D3DX11_FFT_CREATE_FLAG
+
+FUNCTION: HRESULT D3DX11CreateFFT ( ID3D11DeviceContext* pDeviceContext, D3DX11_FFT_DESC* pDesc, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ;
+FUNCTION: HRESULT D3DX11CreateFFT1DReal ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ;
+FUNCTION: HRESULT D3DX11CreateFFT1DComplex ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ;
+FUNCTION: HRESULT D3DX11CreateFFT2DReal ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Y, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ;
+FUNCTION: HRESULT D3DX11CreateFFT2DComplex ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Y, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ;
+FUNCTION: HRESULT D3DX11CreateFFT3DReal ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Y, UINT Z, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ;
+FUNCTION: HRESULT D3DX11CreateFFT3DComplex ( ID3D11DeviceContext* pDeviceContext, UINT X, UINT Y, UINT Z, UINT Flags, D3DX11_FFT_BUFFER_INFO* pBufferInfo, ID3DX11FFT** ppFFT ) ;
--- /dev/null
+DirectCompute bindings. Corresponds to d3dcsx.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: ;
+IN: windows.directx.d3dx10
+
+CONSTANT: D3DX10_ERR_CANNOT_MODIFY_INDEX_BUFFER HEX: 88760B54
+CONSTANT: D3DX10_ERR_INVALID_MESH HEX: 88760B55
+CONSTANT: D3DX10_ERR_CANNOT_ATTR_SORT HEX: 88760B56
+CONSTANT: D3DX10_ERR_SKINNING_NOT_SUPPORTED HEX: 88760B57
+CONSTANT: D3DX10_ERR_TOO_MANY_INFLUENCES HEX: 88760B58
+CONSTANT: D3DX10_ERR_INVALID_DATA HEX: 88760B59
+CONSTANT: D3DX10_ERR_LOADED_MESH_HAS_NO_DATA HEX: 88760B5A
+CONSTANT: D3DX10_ERR_DUPLICATE_NAMED_FRAGMENT HEX: 88760B5B
+CONSTANT: D3DX10_ERR_CANNOT_REMOVE_LAST_ITEM HEX: 88760B5C
--- /dev/null
+Direct3D 10 bindings. Corresponds to d3dx10.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax windows.directx.d3d10 windows.directx.d3d10shader
+windows.types ;
+IN: windows.directx.d3dx10async
+
+LIBRARY: d3dx10
+
+C-TYPE: ID3DX10ThreadPump
+C-TYPE: ID3D10EffectPool
+C-TYPE: D3DX10_IMAGE_LOAD_INFO
+C-TYPE: D3DX10_IMAGE_INFO
+
+FUNCTION: HRESULT D3DX10CompileFromFileA ( LPCSTR pSrcFile, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CompileFromFileW ( LPCWSTR pSrcFile, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+ALIAS: D3DX10CompileFromFile D3DX10CompileFromFileW
+
+FUNCTION: HRESULT D3DX10CompileFromResourceA ( HMODULE hSrcModule, LPCSTR pSrcResource, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CompileFromResourceW ( HMODULE hSrcModule, LPCWSTR pSrcResource, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+ALIAS: D3DX10CompileFromResource D3DX10CompileFromResourceW
+
+FUNCTION: HRESULT D3DX10CompileFromMemory ( LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectFromFileA ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectFromFileW ( LPCWSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectFromMemory ( LPCVOID pData, SIZE_T DataLength, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectFromResourceA ( HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectFromResourceW ( HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10EffectPool* pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect** ppEffect, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+ALIAS: D3DX10CreateEffectFromFile D3DX10CreateEffectFromFileW
+ALIAS: D3DX10CreateEffectFromResource D3DX10CreateEffectFromResourceW
+
+FUNCTION: HRESULT D3DX10CreateEffectPoolFromFileA ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, ID3DX10ThreadPump* pPump,
+ ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectPoolFromFileW ( LPCWSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice, ID3DX10ThreadPump* pPump,
+ ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectPoolFromMemory ( LPCVOID pData, SIZE_T DataLength, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3DX10ThreadPump* pPump, ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectPoolFromResourceA ( HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3DX10ThreadPump* pPump, ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10CreateEffectPoolFromResourceW ( HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ ID3D10Include* pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3DX10ThreadPump* pPump, ID3D10EffectPool** ppEffectPool, ID3D10Blob** ppErrors, HRESULT* pHResult ) ;
+
+ALIAS: D3DX10CreateEffectPoolFromFile D3DX10CreateEffectPoolFromFileW
+ALIAS: D3DX10CreateEffectPoolFromResource D3DX10CreateEffectPoolFromResourceW
+
+FUNCTION: HRESULT D3DX10PreprocessShaderFromFileA ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10PreprocessShaderFromFileW ( LPCWSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10PreprocessShaderFromMemory ( LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10PreprocessShaderFromResourceA ( HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX10PreprocessShaderFromResourceW ( HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX10ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+ALIAS: D3DX10PreprocessShaderFromFile D3DX10PreprocessShaderFromFileW
+ALIAS: D3DX10PreprocessShaderFromResource D3DX10PreprocessShaderFromResourceW
+
+FUNCTION: HRESULT D3DX10CreateAsyncCompilerProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2,
+ ID3D10Blob** ppCompiledShader, ID3D10Blob** ppErrorBuffer, ID3DX10DataProcessor** ppProcessor ) ;
+
+FUNCTION: HRESULT D3DX10CreateAsyncEffectCreateProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pProfile, UINT Flags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10EffectPool* pPool, ID3D10Blob** ppErrorBuffer, ID3DX10DataProcessor** ppProcessor ) ;
+
+FUNCTION: HRESULT D3DX10CreateAsyncEffectPoolCreateProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pProfile, UINT Flags, UINT FXFlags, ID3D10Device* pDevice,
+ ID3D10Blob** ppErrorBuffer, ID3DX10DataProcessor** ppProcessor ) ;
+
+FUNCTION: HRESULT D3DX10CreateAsyncShaderPreprocessProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorBuffer, ID3DX10DataProcessor** ppProcessor ) ;
+
+FUNCTION: HRESULT D3DX10CreateAsyncFileLoaderW ( LPCWSTR pFileName, ID3DX10DataLoader** ppDataLoader ) ;
+FUNCTION: HRESULT D3DX10CreateAsyncFileLoaderA ( LPCSTR pFileName, ID3DX10DataLoader** ppDataLoader ) ;
+FUNCTION: HRESULT D3DX10CreateAsyncMemoryLoader ( LPCVOID pData, SIZE_T cbData, ID3DX10DataLoader** ppDataLoader ) ;
+FUNCTION: HRESULT D3DX10CreateAsyncResourceLoaderW ( HMODULE hSrcModule, LPCWSTR pSrcResource, ID3DX10DataLoader** ppDataLoader ) ;
+FUNCTION: HRESULT D3DX10CreateAsyncResourceLoaderA ( HMODULE hSrcModule, LPCSTR pSrcResource, ID3DX10DataLoader** ppDataLoader ) ;
+
+ALIAS: D3DX10CreateAsyncFileLoader D3DX10CreateAsyncFileLoaderW
+ALIAS: D3DX10CreateAsyncResourceLoader D3DX10CreateAsyncResourceLoaderW
+
+FUNCTION: HRESULT D3DX10CreateAsyncTextureProcessor ( ID3D10Device* pDevice, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10DataProcessor** ppDataProcessor ) ;
+FUNCTION: HRESULT D3DX10CreateAsyncTextureInfoProcessor ( D3DX10_IMAGE_INFO* pImageInfo, ID3DX10DataProcessor** ppDataProcessor ) ;
+FUNCTION: HRESULT D3DX10CreateAsyncShaderResourceViewProcessor ( ID3D10Device* pDevice, D3DX10_IMAGE_LOAD_INFO* pLoadInfo, ID3DX10DataProcessor** ppDataProcessor ) ;
--- /dev/null
+Direct3D 10 bindings. Corresponds to d3dx10async.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.d3d10
+windows.directx.d3d10misc windows.directx.d3dx10math
+windows.directx.dxgi windows.gdi32 windows.types ;
+IN: windows.directx.d3dx10core
+
+LIBRARY: d3dx10
+
+CONSTANT: D3DX10_SDK_VERSION 42
+
+FUNCTION: HRESULT D3DX10CreateDevice (
+ IDXGIAdapter* pAdapter,
+ D3D10_DRIVER_TYPE DriverType,
+ HMODULE Software,
+ UINT Flags,
+ ID3D10Device** ppDevice ) ;
+
+FUNCTION: HRESULT D3DX10CreateDeviceAndSwapChain (
+ IDXGIAdapter* pAdapter,
+ D3D10_DRIVER_TYPE DriverType,
+ HMODULE Software,
+ UINT Flags,
+ DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,
+ IDXGISwapChain** ppSwapChain,
+ ID3D10Device** ppDevice ) ;
+
+C-TYPE: ID3D10Device1
+
+FUNCTION: HRESULT D3DX10GetFeatureLevel1 ( ID3D10Device* pDevice, ID3D10Device1** ppDevice1 ) ;
+
+FUNCTION: HRESULT D3DX10CheckVersion ( UINT D3DSdkVersion, UINT D3DX10SdkVersion ) ;
+
+CONSTANT: D3DX10_SPRITE_SORT_TEXTURE HEX: 01
+CONSTANT: D3DX10_SPRITE_SORT_DEPTH_BACK_TO_FRONT HEX: 02
+CONSTANT: D3DX10_SPRITE_SORT_DEPTH_FRONT_TO_BACK HEX: 04
+CONSTANT: D3DX10_SPRITE_SAVE_STATE HEX: 08
+CONSTANT: D3DX10_SPRITE_ADDREF_TEXTURES HEX: 10
+TYPEDEF: int D3DX10_SPRITE_FLAG
+
+STRUCT: D3DX10_SPRITE
+ { matWorld D3DXMATRIX }
+ { TexCoord D3DXVECTOR2 }
+ { TexSize D3DXVECTOR2 }
+ { ColorModulate D3DXCOLOR }
+ { pTexture ID3D10ShaderResourceView* }
+ { TextureIndex UINT } ;
+
+C-TYPE: ID3DX10Sprite
+TYPEDEF: ID3DX10Sprite* LPD3DX10SPRITE
+
+COM-INTERFACE: ID3DX10Sprite IUnknown {BA0B762D-8D28-43ec-B9DC-2F84443B0614}
+ HRESULT Begin ( UINT flags )
+ HRESULT DrawSpritesBuffered ( D3DX10_SPRITE* pSprites, UINT cSprites )
+ HRESULT Flush ( )
+ HRESULT DrawSpritesImmediate ( D3DX10_SPRITE* pSprites, UINT cSprites, UINT cbSprite, UINT flags )
+ HRESULT End ( )
+ HRESULT GetViewTransform ( D3DXMATRIX* pViewTransform )
+ HRESULT SetViewTransform ( D3DXMATRIX* pViewTransform )
+ HRESULT GetProjectionTransform ( D3DXMATRIX* pProjectionTransform )
+ HRESULT SetProjectionTransform ( D3DXMATRIX* pProjectionTransform )
+ HRESULT GetDevice ( ID3D10Device** ppDevice ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateSprite (
+ ID3D10Device* pDevice,
+ UINT cDeviceBufferSize,
+ LPD3DX10SPRITE* ppSprite ) ;
+
+COM-INTERFACE: ID3DX10DataLoader f {00000000-0000-0000-0000-000000000000}
+ HRESULT Load ( )
+ HRESULT Decompress ( void** ppData, SIZE_T* pcBytes )
+ HRESULT Destroy ( ) ;
+
+COM-INTERFACE: ID3DX10DataProcessor f {00000000-0000-0000-0000-000000000000}
+ HRESULT Process ( void* pData, SIZE_T cBytes )
+ HRESULT CreateDeviceObject ( void** ppDataObject )
+ HRESULT Destroy ( ) ;
+
+COM-INTERFACE: ID3DX10ThreadPump IUnknown {C93FECFA-6967-478a-ABBC-402D90621FCB}
+ HRESULT AddWorkItem ( ID3DX10DataLoader* pDataLoader, ID3DX10DataProcessor* pDataProcessor, HRESULT* pHResult, void** ppDeviceObject )
+ UINT GetWorkItemCount ( )
+ HRESULT WaitForAllItems ( )
+ HRESULT ProcessDeviceWorkItems ( UINT iWorkItemCount )
+ HRESULT PurgeAllItems ( )
+ HRESULT GetQueueStatus ( UINT* pIoQueue, UINT* pProcessQueue, UINT* pDeviceQueue ) ;
+
+FUNCTION: HRESULT D3DX10CreateThreadPump ( UINT cIoThreads, UINT cProcThreads, ID3DX10ThreadPump** ppThreadPump ) ;
+
+STRUCT: D3DX10_FONT_DESCA
+ { Height INT }
+ { Width UINT }
+ { Weight UINT }
+ { MipLevels UINT }
+ { Italic BOOL }
+ { CharSet BYTE }
+ { OutputPrecision BYTE }
+ { Quality BYTE }
+ { PitchAndFamily BYTE }
+ { FaceName CHAR[LF_FACESIZE] } ;
+TYPEDEF: D3DX10_FONT_DESCA* LPD3DX10_FONT_DESCA
+
+STRUCT: D3DX10_FONT_DESCW
+ { Height INT }
+ { Width UINT }
+ { Weight UINT }
+ { MipLevels UINT }
+ { Italic BOOL }
+ { CharSet BYTE }
+ { OutputPrecision BYTE }
+ { Quality BYTE }
+ { PitchAndFamily BYTE }
+ { FaceName WCHAR[LF_FACESIZE] } ;
+TYPEDEF: D3DX10_FONT_DESCW* LPD3DX10_FONT_DESCW
+
+TYPEDEF: D3DX10_FONT_DESCW D3DX10_FONT_DESC
+TYPEDEF: LPD3DX10_FONT_DESCW LPD3DX10_FONT_DESC
+
+C-TYPE: TEXTMETRICA
+C-TYPE: TEXTMETRICW
+
+COM-INTERFACE: ID3DX10Font IUnknown {D79DBB70-5F21-4d36-BBC2-FF525C213CDC}
+ HRESULT GetDevice ( ID3D10Device** ppDevice )
+ HRESULT GetDescA ( D3DX10_FONT_DESCA* pDesc )
+ HRESULT GetDescW ( D3DX10_FONT_DESCW* pDesc )
+ BOOL GetTextMetricsA ( TEXTMETRICA* pTextMetrics )
+ BOOL GetTextMetricsW ( TEXTMETRICW* pTextMetrics )
+ HDC GetDC ( )
+ HRESULT GetGlyphData ( UINT Glyph, ID3D10ShaderResourceView** ppTexture, RECT* pBlackBox, POINT* pCellInc )
+ HRESULT PreloadCharacters ( UINT First, UINT Last )
+ HRESULT PreloadGlyphs ( UINT First, UINT Last )
+ HRESULT PreloadTextA ( LPCSTR pString, INT Count )
+ HRESULT PreloadTextW ( LPCWSTR pString, INT Count )
+ INT DrawTextA ( LPD3DX10SPRITE pSprite, LPCSTR pString, INT Count, LPRECT pRect, UINT Format, D3DXCOLOR Color )
+ INT DrawTextW ( LPD3DX10SPRITE pSprite, LPCWSTR pString, INT Count, LPRECT pRect, UINT Format, D3DXCOLOR Color ) ;
+TYPEDEF: ID3DX10Font* LPD3DX10FONT
+
+FUNCTION: HRESULT
+ D3DX10CreateFontA (
+ ID3D10Device* pDevice,
+ INT Height,
+ UINT Width,
+ UINT Weight,
+ UINT MipLevels,
+ BOOL Italic,
+ UINT CharSet,
+ UINT OutputPrecision,
+ UINT Quality,
+ UINT PitchAndFamily,
+ LPCSTR pFaceName,
+ LPD3DX10FONT* ppFont ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateFontW (
+ ID3D10Device* pDevice,
+ INT Height,
+ UINT Width,
+ UINT Weight,
+ UINT MipLevels,
+ BOOL Italic,
+ UINT CharSet,
+ UINT OutputPrecision,
+ UINT Quality,
+ UINT PitchAndFamily,
+ LPCWSTR pFaceName,
+ LPD3DX10FONT* ppFont ) ;
+
+ALIAS: D3DX10CreateFont D3DX10CreateFontW
+
+FUNCTION: HRESULT
+ D3DX10CreateFontIndirectA (
+ ID3D10Device* pDevice,
+ D3DX10_FONT_DESCA* pDesc,
+ LPD3DX10FONT* ppFont ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateFontIndirectW (
+ ID3D10Device* pDevice,
+ D3DX10_FONT_DESCW* pDesc,
+ LPD3DX10FONT* ppFont ) ;
+
+ALIAS: D3DX10CreateFontIndirect D3DX10CreateFontIndirectW
+
+FUNCTION: HRESULT D3DX10UnsetAllDeviceObjects ( ID3D10Device* pDevice ) ;
+
+CONSTANT: D3DERR_INVALIDCALL HEX: 8876086C
+CONSTANT: D3DERR_WASSTILLDRAWING HEX: 8876021C
--- /dev/null
+Direct3D 10 bindings. Corresponds to d3dx10core.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax classes.struct windows.types ;
+IN: windows.directx.d3dx10math
+
+STRUCT: D3DVECTOR
+ { x FLOAT }
+ { y FLOAT }
+ { z FLOAT } ;
+
+STRUCT: D3DMATRIX
+ { m FLOAT[4][4] } ;
+
+STRUCT: D3DXFLOAT16
+ { value WORD } ;
+
+TYPEDEF: D3DMATRIX D3DXMATRIX
+
+STRUCT: D3DXVECTOR2
+ { x FLOAT }
+ { y FLOAT } ;
+
+STRUCT: D3DXVECTOR2_16F
+ { x D3DXFLOAT16 }
+ { y D3DXFLOAT16 } ;
+
+TYPEDEF: D3DVECTOR D3DXVECTOR3
+
+STRUCT: D3DXVECTOR3_16F
+ { x D3DXFLOAT16 }
+ { y D3DXFLOAT16 }
+ { z D3DXFLOAT16 } ;
+
+STRUCT: D3DXVECTOR4
+ { x FLOAT }
+ { y FLOAT }
+ { z FLOAT }
+ { w FLOAT } ;
+
+STRUCT: D3DXVECTOR4_16F
+ { x D3DXFLOAT16 }
+ { y D3DXFLOAT16 }
+ { z D3DXFLOAT16 }
+ { w D3DXFLOAT16 } ;
+
+STRUCT: D3DXQUATERNION
+ { x FLOAT }
+ { y FLOAT }
+ { z FLOAT }
+ { w FLOAT } ;
+
+STRUCT: D3DXPLANE
+ { a FLOAT }
+ { b FLOAT }
+ { c FLOAT }
+ { d FLOAT } ;
+
+STRUCT: D3DXCOLOR
+ { r FLOAT }
+ { g FLOAT }
+ { b FLOAT }
+ { a FLOAT } ;
--- /dev/null
+Direct3D 10 bindings. Corresponds to d3dx10math.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.d3d10
+windows.directx.d3d10misc windows.types ;
+IN: windows.directx.d3dx10mesh
+
+LIBRARY: d3dx10
+
+CONSTANT: D3DX10_MESH_32_BIT 1
+CONSTANT: D3DX10_MESH_GS_ADJACENCY 4
+
+TYPEDEF: int D3DX10_MESH
+
+STRUCT: D3DX10_ATTRIBUTE_RANGE
+ { AttribId UINT }
+ { FaceStart UINT }
+ { FaceCount UINT }
+ { VertexStart UINT }
+ { VertexCount UINT } ;
+
+TYPEDEF: D3DX10_ATTRIBUTE_RANGE* LPD3DX10_ATTRIBUTE_RANGE
+
+CONSTANT: D3DX10_MESH_DISCARD_ATTRIBUTE_BUFFER HEX: 01
+CONSTANT: D3DX10_MESH_DISCARD_ATTRIBUTE_TABLE HEX: 02
+CONSTANT: D3DX10_MESH_DISCARD_POINTREPS HEX: 04
+CONSTANT: D3DX10_MESH_DISCARD_ADJACENCY HEX: 08
+CONSTANT: D3DX10_MESH_DISCARD_DEVICE_BUFFERS HEX: 10
+TYPEDEF: int D3DX10_MESH_DISCARD_FLAGS
+
+STRUCT: D3DX10_WELD_EPSILONS
+ { Position FLOAT }
+ { BlendWeights FLOAT }
+ { Normal FLOAT }
+ { PSize FLOAT }
+ { Specular FLOAT }
+ { Diffuse FLOAT }
+ { Texcoord FLOAT[8] }
+ { Tangent FLOAT }
+ { Binormal FLOAT }
+ { TessFactor FLOAT } ;
+
+TYPEDEF: D3DX10_WELD_EPSILONS* LPD3DX10_WELD_EPSILONS
+
+STRUCT: D3DX10_INTERSECT_INFO
+ { FaceIndex UINT }
+ { U FLOAT }
+ { V FLOAT }
+ { Dist FLOAT } ;
+TYPEDEF: D3DX10_INTERSECT_INFO* LPD3DX10_INTERSECT_INFO
+
+COM-INTERFACE: ID3DX10MeshBuffer IUnknown {04B0D117-1041-46b1-AA8A-3952848BA22E}
+ HRESULT Map ( void** ppData, SIZE_T* pSize )
+ HRESULT Unmap ( )
+ SIZE_T GetSize ( ) ;
+
+COM-INTERFACE: ID3DX10Mesh IUnknown {4020E5C2-1403-4929-883F-E2E849FAC195}
+ UINT GetFaceCount ( )
+ UINT GetVertexCount ( )
+ UINT GetVertexBufferCount ( )
+ UINT GetFlags ( )
+ HRESULT GetVertexDescription ( D3D10_INPUT_ELEMENT_DESC** ppDesc, UINT* pDeclCount )
+ HRESULT SetVertexData ( UINT iBuffer, void* pData )
+ HRESULT GetVertexBuffer ( UINT iBuffer, ID3DX10MeshBuffer** ppVertexBuffer )
+ HRESULT SetIndexData ( void* pData, UINT cIndices )
+ HRESULT GetIndexBuffer ( ID3DX10MeshBuffer** ppIndexBuffer )
+ HRESULT SetAttributeData ( UINT* pData )
+ HRESULT GetAttributeBuffer ( ID3DX10MeshBuffer** ppAttributeBuffer )
+ HRESULT SetAttributeTable ( D3DX10_ATTRIBUTE_RANGE* pAttribTable, UINT cAttribTableSize )
+ HRESULT GetAttributeTable ( D3DX10_ATTRIBUTE_RANGE* pAttribTable, UINT* pAttribTableSize )
+ HRESULT GenerateAdjacencyAndPointReps ( FLOAT Epsilon )
+ HRESULT GenerateGSAdjacency ( )
+ HRESULT SetAdjacencyData ( UINT* pAdjacency )
+ HRESULT GetAdjacencyBuffer ( ID3DX10MeshBuffer** ppAdjacency )
+ HRESULT SetPointRepData ( UINT* pPointReps )
+ HRESULT GetPointRepBuffer ( ID3DX10MeshBuffer** ppPointReps )
+ HRESULT Discard ( D3DX10_MESH_DISCARD_FLAGS dwDiscard )
+ HRESULT CloneMesh ( UINT Flags, LPCSTR pPosSemantic, D3D10_INPUT_ELEMENT_DESC* pDesc, UINT DeclCount, ID3DX10Mesh** ppCloneMesh )
+ HRESULT Optimize ( UINT Flags, UINT* pFaceRemap, LPD3D10BLOB* ppVertexRemap )
+ HRESULT GenerateAttributeBufferFromTable ( )
+ HRESULT Intersect ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir,
+ UINT* pHitCount, UINT* pFaceIndex, float* pU, float* pV, float* pDist, ID3D10Blob** ppAllHits )
+ HRESULT IntersectSubset ( UINT AttribId, D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir,
+ UINT* pHitCount, UINT* pFaceIndex, float* pU, float* pV, float* pDist, ID3D10Blob** ppAllHits )
+ HRESULT CommitToDevice ( )
+ HRESULT DrawSubset ( UINT AttribId )
+ HRESULT DrawSubsetInstanced ( UINT AttribId, UINT InstanceCount, UINT StartInstanceLocation )
+ HRESULT GetDeviceVertexBuffer ( UINT iBuffer, ID3D10Buffer** ppVertexBuffer )
+ HRESULT GetDeviceIndexBuffer ( ID3D10Buffer** ppIndexBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateMesh (
+ ID3D10Device* pDevice,
+ D3D10_INPUT_ELEMENT_DESC* pDeclaration,
+ UINT DeclCount,
+ LPCSTR pPositionSemantic,
+ UINT VertexCount,
+ UINT FaceCount,
+ UINT Options,
+ ID3DX10Mesh** ppMesh ) ;
+
+CONSTANT: D3DX10_MESHOPT_COMPACT HEX: 01000000
+CONSTANT: D3DX10_MESHOPT_ATTR_SORT HEX: 02000000
+CONSTANT: D3DX10_MESHOPT_VERTEX_CACHE HEX: 04000000
+CONSTANT: D3DX10_MESHOPT_STRIP_REORDER HEX: 08000000
+CONSTANT: D3DX10_MESHOPT_IGNORE_VERTS HEX: 10000000
+CONSTANT: D3DX10_MESHOPT_DO_NOT_SPLIT HEX: 20000000
+CONSTANT: D3DX10_MESHOPT_DEVICE_INDEPENDENT HEX: 00400000
+
+CONSTANT: D3DX10_SKININFO_NO_SCALING 0
+CONSTANT: D3DX10_SKININFO_SCALE_TO_1 1
+CONSTANT: D3DX10_SKININFO_SCALE_TO_TOTAL 2
+
+STRUCT: D3DX10_SKINNING_CHANNEL
+ { SrcOffset UINT }
+ { DestOffset UINT }
+ { IsNormal BOOL } ;
+
+COM-INTERFACE: ID3DX10SkinInfo IUnknown {420BD604-1C76-4a34-A466-E45D0658A32C}
+ UINT GetNumVertices ( )
+ UINT GetNumBones ( )
+ UINT GetMaxBoneInfluences ( )
+ HRESULT AddVertices ( UINT Count )
+ HRESULT RemapVertices ( UINT NewVertexCount, UINT* pVertexRemap )
+ HRESULT AddBones ( UINT Count )
+ HRESULT RemoveBone ( UINT Index )
+ HRESULT RemapBones ( UINT NewBoneCount, UINT* pBoneRemap )
+ HRESULT AddBoneInfluences ( UINT BoneIndex, UINT InfluenceCount, UINT* pIndices, float* pWeights )
+ HRESULT ClearBoneInfluences ( UINT BoneIndex )
+ UINT GetBoneInfluenceCount ( UINT BoneIndex )
+ HRESULT GetBoneInfluences ( UINT BoneIndex, UINT Offset, UINT Count, UINT* pDestIndices, float* pDestWeights )
+ HRESULT FindBoneInfluenceIndex ( UINT BoneIndex, UINT VertexIndex, UINT* pInfluenceIndex )
+ HRESULT SetBoneInfluence ( UINT BoneIndex, UINT InfluenceIndex, float Weight )
+ HRESULT GetBoneInfluence ( UINT BoneIndex, UINT InfluenceIndex, float* pWeight )
+ HRESULT Compact ( UINT MaxPerVertexInfluences, UINT ScaleMode, float MinWeight )
+ HRESULT DoSoftwareSkinning ( UINT StartVertex, UINT VertexCount, void* pSrcVertices, UINT SrcStride, void* pDestVertices, UINT DestStride, D3DXMATRIX* pBoneMatrices, D3DXMATRIX* pInverseTransposeBoneMatrices, D3DX10_SKINNING_CHANNEL* pChannelDescs, UINT NumChannels ) ;
+
+TYPEDEF: ID3DX10SkinInfo* LPD3DX10SKININFO
+
+FUNCTION: HRESULT
+ D3DX10CreateSkinInfo ( LPD3DX10SKININFO* ppSkinInfo ) ;
+
+STRUCT: D3DX10_ATTRIBUTE_WEIGHTS
+ { Position FLOAT }
+ { Boundary FLOAT }
+ { Normal FLOAT }
+ { Diffuse FLOAT }
+ { Specular FLOAT }
+ { Texcoord FLOAT[8] }
+ { Tangent FLOAT }
+ { Binormal FLOAT } ;
--- /dev/null
+Direct3D 10 bindings. Corresponds to d3dx10mesh.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct
+windows.directx.d3d10 windows.directx.d3d10misc
+windows.directx.d3dx10async windows.directx.dxgiformat
+windows.types ;
+IN: windows.directx.d3dx10tex
+
+LIBRARY: d3dx10
+
+CONSTANT: D3DX10_FILTER_NONE HEX: 00000001
+CONSTANT: D3DX10_FILTER_POINT HEX: 00000002
+CONSTANT: D3DX10_FILTER_LINEAR HEX: 00000003
+CONSTANT: D3DX10_FILTER_TRIANGLE HEX: 00000004
+CONSTANT: D3DX10_FILTER_BOX HEX: 00000005
+
+CONSTANT: D3DX10_FILTER_MIRROR_U HEX: 00010000
+CONSTANT: D3DX10_FILTER_MIRROR_V HEX: 00020000
+CONSTANT: D3DX10_FILTER_MIRROR_W HEX: 00040000
+CONSTANT: D3DX10_FILTER_MIRROR HEX: 00070000
+
+CONSTANT: D3DX10_FILTER_DITHER HEX: 00080000
+CONSTANT: D3DX10_FILTER_DITHER_DIFFUSION HEX: 00100000
+
+CONSTANT: D3DX10_FILTER_SRGB_IN HEX: 00200000
+CONSTANT: D3DX10_FILTER_SRGB_OUT HEX: 00400000
+CONSTANT: D3DX10_FILTER_SRGB HEX: 00600000
+TYPEDEF: int D3DX10_FILTER_FLAG
+
+CONSTANT: D3DX10_NORMALMAP_MIRROR_U HEX: 00010000
+CONSTANT: D3DX10_NORMALMAP_MIRROR_V HEX: 00020000
+CONSTANT: D3DX10_NORMALMAP_MIRROR HEX: 00030000
+CONSTANT: D3DX10_NORMALMAP_INVERTSIGN HEX: 00080000
+CONSTANT: D3DX10_NORMALMAP_COMPUTE_OCCLUSION HEX: 00100000
+TYPEDEF: int D3DX10_NORMALMAP_FLAG
+
+CONSTANT: D3DX10_CHANNEL_RED 1
+CONSTANT: D3DX10_CHANNEL_BLUE 2
+CONSTANT: D3DX10_CHANNEL_GREEN 4
+CONSTANT: D3DX10_CHANNEL_ALPHA 8
+CONSTANT: D3DX10_CHANNEL_LUMINANCE 16
+TYPEDEF: int D3DX10_CHANNEL_FLAG
+
+CONSTANT: D3DX10_IFF_BMP 0
+CONSTANT: D3DX10_IFF_JPG 1
+CONSTANT: D3DX10_IFF_PNG 3
+CONSTANT: D3DX10_IFF_DDS 4
+CONSTANT: D3DX10_IFF_TIFF 10
+CONSTANT: D3DX10_IFF_GIF 11
+CONSTANT: D3DX10_IFF_WMP 12
+CONSTANT: D3DX10_IFF_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3DX10_IMAGE_FILE_FORMAT
+
+CONSTANT: D3DX10_STF_USEINPUTBLOB 1
+TYPEDEF: int D3DX10_SAVE_TEXTURE_FLAG
+
+STRUCT: D3DX10_IMAGE_INFO
+ { Width UINT }
+ { Height UINT }
+ { Depth UINT }
+ { ArraySize UINT }
+ { MipLevels UINT }
+ { MiscFlags UINT }
+ { Format DXGI_FORMAT }
+ { ResourceDimension D3D10_RESOURCE_DIMENSION }
+ { ImageFileFormat D3DX10_IMAGE_FILE_FORMAT } ;
+
+STRUCT: D3DX10_IMAGE_LOAD_INFO
+ { Width UINT }
+ { Height UINT }
+ { Depth UINT }
+ { FirstMipLevel UINT }
+ { MipLevels UINT }
+ { Usage D3D10_USAGE }
+ { BindFlags UINT }
+ { CpuAccessFlags UINT }
+ { MiscFlags UINT }
+ { Format DXGI_FORMAT }
+ { Filter UINT }
+ { MipFilter UINT }
+ { pSrcInfo D3DX10_IMAGE_INFO* } ;
+
+FUNCTION: HRESULT
+ D3DX10GetImageInfoFromFileA (
+ LPCSTR pSrcFile,
+ ID3DX10ThreadPump* pPump,
+ D3DX10_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX10GetImageInfoFromFileW (
+ LPCWSTR pSrcFile,
+ ID3DX10ThreadPump* pPump,
+ D3DX10_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX10GetImageInfoFromFile D3DX10GetImageInfoFromFileW
+
+FUNCTION: HRESULT
+ D3DX10GetImageInfoFromResourceA (
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ ID3DX10ThreadPump* pPump,
+ D3DX10_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX10GetImageInfoFromResourceW (
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ ID3DX10ThreadPump* pPump,
+ D3DX10_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX10GetImageInfoFromResource D3DX10GetImageInfoFromResourceW
+
+FUNCTION: HRESULT
+ D3DX10GetImageInfoFromMemory (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ ID3DX10ThreadPump* pPump,
+ D3DX10_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateShaderResourceViewFromFileA (
+ ID3D10Device* pDevice,
+ LPCSTR pSrcFile,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateShaderResourceViewFromFileW (
+ ID3D10Device* pDevice,
+ LPCWSTR pSrcFile,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX10CreateShaderResourceViewFromFile D3DX10CreateShaderResourceViewFromFileW
+
+FUNCTION: HRESULT
+ D3DX10CreateTextureFromFileA (
+ ID3D10Device* pDevice,
+ LPCSTR pSrcFile,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateTextureFromFileW (
+ ID3D10Device* pDevice,
+ LPCWSTR pSrcFile,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX10CreateTextureFromFile D3DX10CreateTextureFromFileW
+
+FUNCTION: HRESULT
+ D3DX10CreateShaderResourceViewFromResourceA (
+ ID3D10Device* pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateShaderResourceViewFromResourceW (
+ ID3D10Device* pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX10CreateShaderResourceViewFromResource D3DX10CreateShaderResourceViewFromResourceW
+
+FUNCTION: HRESULT
+ D3DX10CreateTextureFromResourceA (
+ ID3D10Device* pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateTextureFromResourceW (
+ ID3D10Device* pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX10CreateTextureFromResource D3DX10CreateTextureFromResourceW
+
+FUNCTION: HRESULT
+ D3DX10CreateShaderResourceViewFromMemory (
+ ID3D10Device* pDevice,
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX10CreateTextureFromMemory (
+ ID3D10Device* pDevice,
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ D3DX10_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX10ThreadPump* pPump,
+ ID3D10Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+STRUCT: D3DX10_TEXTURE_LOAD_INFO
+ { pSrcBox D3D10_BOX* }
+ { pDstBox D3D10_BOX* }
+ { SrcFirstMip UINT }
+ { DstFirstMip UINT }
+ { NumMips UINT }
+ { SrcFirstElement UINT }
+ { DstFirstElement UINT }
+ { NumElements UINT }
+ { Filter UINT }
+ { MipFilter UINT } ;
+
+FUNCTION: HRESULT
+ D3DX10LoadTextureFromTexture (
+ ID3D10Resource* pSrcTexture,
+ D3DX10_TEXTURE_LOAD_INFO* pLoadInfo,
+ ID3D10Resource* pDstTexture ) ;
+
+FUNCTION: HRESULT
+ D3DX10FilterTexture (
+ ID3D10Resource* pTexture,
+ UINT SrcLevel,
+ UINT MipFilter ) ;
+
+FUNCTION: HRESULT
+ D3DX10SaveTextureToFileA (
+ ID3D10Resource* pSrcTexture,
+ D3DX10_IMAGE_FILE_FORMAT DestFormat,
+ LPCSTR pDestFile ) ;
+
+FUNCTION: HRESULT
+ D3DX10SaveTextureToFileW (
+ ID3D10Resource* pSrcTexture,
+ D3DX10_IMAGE_FILE_FORMAT DestFormat,
+ LPCWSTR pDestFile ) ;
+
+ALIAS: D3DX10SaveTextureToFile D3DX10SaveTextureToFileW
+
+FUNCTION: HRESULT
+ D3DX10SaveTextureToMemory (
+ ID3D10Resource* pSrcTexture,
+ D3DX10_IMAGE_FILE_FORMAT DestFormat,
+ LPD3D10BLOB* ppDestBuf,
+ UINT Flags ) ;
+
+FUNCTION: HRESULT
+ D3DX10ComputeNormalMap (
+ ID3D10Texture2D* pSrcTexture,
+ UINT Flags,
+ UINT Channel,
+ FLOAT Amplitude,
+ ID3D10Texture2D* pDestTexture ) ;
+
+FUNCTION: HRESULT
+ D3DX10SHProjectCubeMap (
+ UINT Order,
+ ID3D10Texture2D* pCubeMap,
+ FLOAT* pROut,
+ FLOAT* pGOut,
+ FLOAT* pBOut ) ;
--- /dev/null
+Direct3D 10 bindings. Corresponds to d3dx10tex.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: ;
+IN: windows.directx.d3dx11
+
+CONSTANT: D3DX11_ERR_CANNOT_MODIFY_INDEX_BUFFER HEX: 88760B54
+CONSTANT: D3DX11_ERR_INVALID_MESH HEX: 88760B55
+CONSTANT: D3DX11_ERR_CANNOT_ATTR_SORT HEX: 88760B56
+CONSTANT: D3DX11_ERR_SKINNING_NOT_SUPPORTED HEX: 88760B57
+CONSTANT: D3DX11_ERR_TOO_MANY_INFLUENCES HEX: 88760B58
+CONSTANT: D3DX11_ERR_INVALID_DATA HEX: 88760B59
+CONSTANT: D3DX11_ERR_LOADED_MESH_HAS_NO_DATA HEX: 88760B5A
+CONSTANT: D3DX11_ERR_DUPLICATE_NAMED_FRAGMENT HEX: 88760B5B
+CONSTANT: D3DX11_ERR_CANNOT_REMOVE_LAST_ITEM HEX: 88760B5C
--- /dev/null
+Direct3D 11 bindings. Corresponds to d3dx11.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax alien.c-types classes.struct windows.types
+windows.directx.d3d10shader windows.directx.d3dx11core
+windows.directx.d3d11 windows.directx.d3dx11tex ;
+IN: windows.directx.d3dx11async
+
+LIBRARY: d3dx11
+
+FUNCTION: HRESULT D3DX11CompileFromFileA ( LPCSTR pSrcFile, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+FUNCTION: HRESULT D3DX11CompileFromFileW ( LPCWSTR pSrcFile, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+ALIAS: D3DX11CompileFromFile D3DX11CompileFromFileW
+
+FUNCTION: HRESULT D3DX11CompileFromResourceA ( HMODULE hSrcModule, LPCSTR pSrcResource, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+FUNCTION: HRESULT D3DX11CompileFromResourceW ( HMODULE hSrcModule, LPCWSTR pSrcResource, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+ALIAS: D3DX11CompileFromResource D3DX11CompileFromResourceW
+
+FUNCTION: HRESULT D3DX11CompileFromMemory ( LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX11PreprocessShaderFromFileA ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX11PreprocessShaderFromFileW ( LPCWSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX11PreprocessShaderFromMemory ( LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX11PreprocessShaderFromResourceA ( HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT D3DX11PreprocessShaderFromResourceW ( HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, D3D10_SHADER_MACRO* pDefines,
+ LPD3D10INCLUDE pInclude, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult ) ;
+
+ALIAS: D3DX11PreprocessShaderFromFile D3DX11PreprocessShaderFromFileW
+ALIAS: D3DX11PreprocessShaderFromResource D3DX11PreprocessShaderFromResourceW
+
+FUNCTION: HRESULT D3DX11CreateAsyncCompilerProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2,
+ ID3D10Blob** ppCompiledShader, ID3D10Blob** ppErrorBuffer, ID3DX11DataProcessor** ppProcessor ) ;
+
+FUNCTION: HRESULT D3DX11CreateAsyncShaderPreprocessProcessor ( LPCSTR pFileName, D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
+ ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorBuffer, ID3DX11DataProcessor** ppProcessor ) ;
+
+FUNCTION: HRESULT D3DX11CreateAsyncFileLoaderW ( LPCWSTR pFileName, ID3DX11DataLoader** ppDataLoader ) ;
+FUNCTION: HRESULT D3DX11CreateAsyncFileLoaderA ( LPCSTR pFileName, ID3DX11DataLoader** ppDataLoader ) ;
+FUNCTION: HRESULT D3DX11CreateAsyncMemoryLoader ( LPCVOID pData, SIZE_T cbData, ID3DX11DataLoader** ppDataLoader ) ;
+FUNCTION: HRESULT D3DX11CreateAsyncResourceLoaderW ( HMODULE hSrcModule, LPCWSTR pSrcResource, ID3DX11DataLoader** ppDataLoader ) ;
+FUNCTION: HRESULT D3DX11CreateAsyncResourceLoaderA ( HMODULE hSrcModule, LPCSTR pSrcResource, ID3DX11DataLoader** ppDataLoader ) ;
+
+ALIAS: D3DX11CreateAsyncFileLoader D3DX11CreateAsyncFileLoaderW
+ALIAS: D3DX11CreateAsyncResourceLoader D3DX11CreateAsyncResourceLoaderW
+
+FUNCTION: HRESULT D3DX11CreateAsyncTextureProcessor ( ID3D11Device* pDevice, D3DX11_IMAGE_LOAD_INFO* pLoadInfo, ID3DX11DataProcessor** ppDataProcessor ) ;
+FUNCTION: HRESULT D3DX11CreateAsyncTextureInfoProcessor ( D3DX11_IMAGE_INFO* pImageInfo, ID3DX11DataProcessor** ppDataProcessor ) ;
+FUNCTION: HRESULT D3DX11CreateAsyncShaderResourceViewProcessor ( ID3D11Device* pDevice, D3DX11_IMAGE_LOAD_INFO* pLoadInfo, ID3DX11DataProcessor** ppDataProcessor ) ;
--- /dev/null
+Direct3D 11 bindings. Corresponds to d3dx11async.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax windows.types windows.com.syntax alien.c-types windows.com
+windows.directx.d3d11 ;
+IN: windows.directx.d3dx11core
+
+LIBRARY: d3dx11
+
+FUNCTION: HRESULT D3DX11CheckVersion ( UINT D3DSdkVersion, UINT D3DX11SdkVersion ) ;
+
+COM-INTERFACE: ID3DX11DataLoader f {00000000-0000-0000-0000-000000000000}
+ HRESULT Load ( )
+ HRESULT Decompress ( void** ppData, SIZE_T* pcBytes )
+ HRESULT Destroy ( ) ;
+
+COM-INTERFACE: ID3DX11DataProcessor f {00000000-0000-0000-0000-000000000000}
+ HRESULT Process ( void* pData, SIZE_T cBytes )
+ HRESULT CreateDeviceObject ( void** ppDataObject )
+ HRESULT Destroy ( ) ;
+
+COM-INTERFACE: ID3DX11ThreadPump IUnknown {C93FECFA-6967-478a-ABBC-402D90621FCB}
+ HRESULT AddWorkItem ( ID3DX11DataLoader* pDataLoader, ID3DX11DataProcessor* pDataProcessor, HRESULT* pHResult, void** ppDeviceObject )
+ UINT GetWorkItemCount ( )
+ HRESULT WaitForAllItems ( )
+ HRESULT ProcessDeviceWorkItems ( UINT iWorkItemCount )
+ HRESULT PurgeAllItems ( )
+ HRESULT GetQueueStatus ( UINT* pIoQueue, UINT* pProcessQueue, UINT* pDeviceQueue ) ;
+
+FUNCTION: HRESULT D3DX11CreateThreadPump ( UINT cIoThreads, UINT cProcThreads, ID3DX11ThreadPump** ppThreadPump ) ;
+FUNCTION: HRESULT D3DX11UnsetAllDeviceObjects ( ID3D11DeviceContext* pContext ) ;
+
+CONSTANT: D3DERR_INVALIDCALL HEX: 8876086C
+CONSTANT: D3DERR_WASSTILLDRAWING HEX: 8876021C
--- /dev/null
+Direct3D 11 bindings. Corresponds to d3dx11core.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax alien.c-types classes.struct windows.types
+windows.directx.dxgiformat windows.directx.d3d11
+windows.directx.d3dx11core ;
+IN: windows.directx.d3dx11tex
+
+LIBRARY: d3dx11
+
+CONSTANT: D3DX11_FILTER_NONE HEX: 00000001
+CONSTANT: D3DX11_FILTER_POINT HEX: 00000002
+CONSTANT: D3DX11_FILTER_LINEAR HEX: 00000003
+CONSTANT: D3DX11_FILTER_TRIANGLE HEX: 00000004
+CONSTANT: D3DX11_FILTER_BOX HEX: 00000005
+
+CONSTANT: D3DX11_FILTER_MIRROR_U HEX: 00010000
+CONSTANT: D3DX11_FILTER_MIRROR_V HEX: 00020000
+CONSTANT: D3DX11_FILTER_MIRROR_W HEX: 00040000
+CONSTANT: D3DX11_FILTER_MIRROR HEX: 00070000
+
+CONSTANT: D3DX11_FILTER_DITHER HEX: 00080000
+CONSTANT: D3DX11_FILTER_DITHER_DIFFUSION HEX: 00100000
+
+CONSTANT: D3DX11_FILTER_SRGB_IN HEX: 00200000
+CONSTANT: D3DX11_FILTER_SRGB_OUT HEX: 00400000
+CONSTANT: D3DX11_FILTER_SRGB HEX: 00600000
+TYPEDEF: int D3DX11_FILTER_FLAG
+
+CONSTANT: D3DX11_NORMALMAP_MIRROR_U HEX: 00010000
+CONSTANT: D3DX11_NORMALMAP_MIRROR_V HEX: 00020000
+CONSTANT: D3DX11_NORMALMAP_MIRROR HEX: 00030000
+CONSTANT: D3DX11_NORMALMAP_INVERTSIGN HEX: 00080000
+CONSTANT: D3DX11_NORMALMAP_COMPUTE_OCCLUSION HEX: 00100000
+TYPEDEF: int D3DX11_NORMALMAP_FLAG
+
+CONSTANT: D3DX11_CHANNEL_RED 1
+CONSTANT: D3DX11_CHANNEL_BLUE 2
+CONSTANT: D3DX11_CHANNEL_GREEN 4
+CONSTANT: D3DX11_CHANNEL_ALPHA 8
+CONSTANT: D3DX11_CHANNEL_LUMINANCE 16
+TYPEDEF: int D3DX11_CHANNEL_FLAG
+
+CONSTANT: D3DX11_IFF_BMP 0
+CONSTANT: D3DX11_IFF_JPG 1
+CONSTANT: D3DX11_IFF_PNG 3
+CONSTANT: D3DX11_IFF_DDS 4
+CONSTANT: D3DX11_IFF_TIFF 10
+CONSTANT: D3DX11_IFF_GIF 11
+CONSTANT: D3DX11_IFF_WMP 12
+CONSTANT: D3DX11_IFF_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3DX11_IMAGE_FILE_FORMAT
+
+CONSTANT: D3DX11_STF_USEINPUTBLOB 1
+TYPEDEF: int D3DX11_SAVE_TEXTURE_FLAG
+
+STRUCT: D3DX11_IMAGE_INFO
+ { Width UINT }
+ { Height UINT }
+ { Depth UINT }
+ { ArraySize UINT }
+ { MipLevels UINT }
+ { MiscFlags UINT }
+ { Format DXGI_FORMAT }
+ { ResourceDimension D3D11_RESOURCE_DIMENSION }
+ { ImageFileFormat D3DX11_IMAGE_FILE_FORMAT } ;
+
+STRUCT: D3DX11_IMAGE_LOAD_INFO
+ { Width UINT }
+ { Height UINT }
+ { Depth UINT }
+ { FirstMipLevel UINT }
+ { MipLevels UINT }
+ { Usage D3D11_USAGE }
+ { BindFlags UINT }
+ { CpuAccessFlags UINT }
+ { MiscFlags UINT }
+ { Format DXGI_FORMAT }
+ { Filter UINT }
+ { MipFilter UINT }
+ { pSrcInfo D3DX11_IMAGE_INFO* } ;
+
+FUNCTION: HRESULT
+ D3DX11GetImageInfoFromFileA (
+ LPCSTR pSrcFile,
+ ID3DX11ThreadPump* pPump,
+ D3DX11_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX11GetImageInfoFromFileW (
+ LPCWSTR pSrcFile,
+ ID3DX11ThreadPump* pPump,
+ D3DX11_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX11GetImageInfoFromFile D3DX11GetImageInfoFromFileW
+
+FUNCTION: HRESULT
+ D3DX11GetImageInfoFromResourceA (
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ ID3DX11ThreadPump* pPump,
+ D3DX11_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX11GetImageInfoFromResourceW (
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ ID3DX11ThreadPump* pPump,
+ D3DX11_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX11GetImageInfoFromResource D3DX11GetImageInfoFromResourceW
+
+FUNCTION: HRESULT
+ D3DX11GetImageInfoFromMemory (
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ ID3DX11ThreadPump* pPump,
+ D3DX11_IMAGE_INFO* pSrcInfo,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX11CreateShaderResourceViewFromFileA (
+ ID3D11Device* pDevice,
+ LPCSTR pSrcFile,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX11CreateShaderResourceViewFromFileW (
+ ID3D11Device* pDevice,
+ LPCWSTR pSrcFile,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX11CreateShaderResourceViewFromFile D3DX11CreateShaderResourceViewFromFileW
+
+FUNCTION: HRESULT
+ D3DX11CreateTextureFromFileA (
+ ID3D11Device* pDevice,
+ LPCSTR pSrcFile,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX11CreateTextureFromFileW (
+ ID3D11Device* pDevice,
+ LPCWSTR pSrcFile,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX11CreateTextureFromFile D3DX11CreateTextureFromFileW
+
+FUNCTION: HRESULT
+ D3DX11CreateShaderResourceViewFromResourceA (
+ ID3D11Device* pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX11CreateShaderResourceViewFromResourceW (
+ ID3D11Device* pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX11CreateShaderResourceViewFromResource D3DX11CreateShaderResourceViewFromResourceW
+
+FUNCTION: HRESULT
+ D3DX11CreateTextureFromResourceA (
+ ID3D11Device* pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX11CreateTextureFromResourceW (
+ ID3D11Device* pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+ALIAS: D3DX11CreateTextureFromResource D3DX11CreateTextureFromResourceW
+
+FUNCTION: HRESULT
+ D3DX11CreateShaderResourceViewFromMemory (
+ ID3D11Device* pDevice,
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11ShaderResourceView** ppShaderResourceView,
+ HRESULT* pHResult ) ;
+
+FUNCTION: HRESULT
+ D3DX11CreateTextureFromMemory (
+ ID3D11Device* pDevice,
+ LPCVOID pSrcData,
+ SIZE_T SrcDataSize,
+ D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
+ ID3DX11ThreadPump* pPump,
+ ID3D11Resource** ppTexture,
+ HRESULT* pHResult ) ;
+
+STRUCT: D3DX11_TEXTURE_LOAD_INFO
+ { pSrcBox D3D11_BOX* }
+ { pDstBox D3D11_BOX* }
+ { SrcFirstMip UINT }
+ { DstFirstMip UINT }
+ { NumMips UINT }
+ { SrcFirstElement UINT }
+ { DstFirstElement UINT }
+ { NumElements UINT }
+ { Filter UINT }
+ { MipFilter UINT } ;
+
+FUNCTION: HRESULT
+ D3DX11LoadTextureFromTexture (
+ ID3D11DeviceContext* pContext,
+ ID3D11Resource* pSrcTexture,
+ D3DX11_TEXTURE_LOAD_INFO* pLoadInfo,
+ ID3D11Resource* pDstTexture ) ;
+
+FUNCTION: HRESULT
+ D3DX11FilterTexture (
+ ID3D11DeviceContext* pContext,
+ ID3D11Resource* pTexture,
+ UINT SrcLevel,
+ UINT MipFilter ) ;
+
+FUNCTION: HRESULT
+ D3DX11SaveTextureToFileA (
+ ID3D11DeviceContext* pContext,
+ ID3D11Resource* pSrcTexture,
+ D3DX11_IMAGE_FILE_FORMAT DestFormat,
+ LPCSTR pDestFile ) ;
+
+FUNCTION: HRESULT
+ D3DX11SaveTextureToFileW (
+ ID3D11DeviceContext* pContext,
+ ID3D11Resource* pSrcTexture,
+ D3DX11_IMAGE_FILE_FORMAT DestFormat,
+ LPCWSTR pDestFile ) ;
+
+ALIAS: D3DX11SaveTextureToFile D3DX11SaveTextureToFileW
+
+FUNCTION: HRESULT
+ D3DX11SaveTextureToMemory (
+ ID3D11DeviceContext* pContext,
+ ID3D11Resource* pSrcTexture,
+ D3DX11_IMAGE_FILE_FORMAT DestFormat,
+ ID3D10Blob** ppDestBuf,
+ UINT Flags ) ;
+
+FUNCTION: HRESULT
+ D3DX11ComputeNormalMap (
+ ID3D11DeviceContext* pContext,
+ ID3D11Texture2D* pSrcTexture,
+ UINT Flags,
+ UINT Channel,
+ FLOAT Amplitude,
+ ID3D11Texture2D* pDestTexture ) ;
+
+FUNCTION: HRESULT
+ D3DX11SHProjectCubeMap (
+ ID3D11DeviceContext* pContext,
+ UINT Order,
+ ID3D11Texture2D* pCubeMap,
+ FLOAT* pROut,
+ FLOAT* pGOut,
+ FLOAT* pBOut ) ;
+
--- /dev/null
+Direct3D 11 bindings. Corresponds to d3dx11tex.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: ;
+IN: windows.directx.d3dx9
+
+CONSTANT: D3DXERR_CANNOTMODIFYINDEXBUFFER HEX: 88760B55
+CONSTANT: D3DXERR_INVALIDMESH HEX: 88760B56
+CONSTANT: D3DXERR_CANNOTATTRSORT HEX: 88760B57
+CONSTANT: D3DXERR_SKINNINGNOTSUPPORTED HEX: 88760B58
+CONSTANT: D3DXERR_TOOMANYINFLUENCES HEX: 88760B59
+CONSTANT: D3DXERR_INVALIDDATA HEX: 88760B5A
+CONSTANT: D3DXERR_LOADEDMESHASNODATA HEX: 88760B5B
+CONSTANT: D3DXERR_DUPLICATENAMEDFRAGMENT HEX: 88760B5C
+CONSTANT: D3DXERR_CANNOTREMOVELASTITEM HEX: 88760B5D
--- /dev/null
+DirectX 9 bindings. Corresponds to d3dx9.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.d3d9
+windows.directx.d3dx9core windows.directx.d3dx9math
+windows.directx.d3dx9mesh windows.directx.d3dx9xof
+windows.types ;
+IN: windows.directx.d3dx9anim
+
+LIBRARY: d3dx9
+
+TYPEDEF: int D3DXMESHDATATYPE
+CONSTANT: D3DXMESHTYPE_MESH 1
+CONSTANT: D3DXMESHTYPE_PMESH 2
+CONSTANT: D3DXMESHTYPE_PATCHMESH 3
+CONSTANT: D3DXMESHTYPE_FORCE_DWORD HEX: 7fffffff
+
+STRUCT: D3DXMESHDATA
+ { Type D3DXMESHDATATYPE }
+ { Mesh void* } ;
+TYPEDEF: D3DXMESHDATA* LPD3DXMESHDATA
+
+STRUCT: D3DXMESHCONTAINER
+ { Name LPSTR }
+ { MeshData D3DXMESHDATA }
+ { pMaterials LPD3DXMATERIAL }
+ { pEffects LPD3DXEFFECTINSTANCE }
+ { NumMaterials DWORD }
+ { pAdjacency DWORD* }
+ { pSkinInfo LPD3DXSKININFO }
+ { pNextMeshContainer D3DXMESHCONTAINER* } ;
+TYPEDEF: D3DXMESHCONTAINER* LPD3DXMESHCONTAINER
+
+STRUCT: D3DXFRAME
+ { Name LPSTR }
+ { TransformationMatrix D3DXMATRIX }
+ { pMeshContainer LPD3DXMESHCONTAINER }
+ { pFrameSibling D3DXFRAME* }
+ { pFrameFirstChild D3DXFRAME* } ;
+TYPEDEF: D3DXFRAME* LPD3DXFRAME
+
+C-TYPE: ID3DXAllocateHierarchy
+TYPEDEF: ID3DXAllocateHierarchy* LPD3DXALLOCATEHIERARCHY
+
+COM-INTERFACE: ID3DXAllocateHierarchy f {00000000-0000-0000-0000-000000000000}
+ HRESULT CreateFrame ( LPCSTR Name, LPD3DXFRAME* ppNewFrame )
+ HRESULT CreateMeshContainer (
+ LPCSTR Name,
+ D3DXMESHDATA* pMeshData,
+ D3DXMATERIAL* pMaterials,
+ D3DXEFFECTINSTANCE* pEffectInstances,
+ DWORD NumMaterials,
+ DWORD* pAdjacency,
+ LPD3DXSKININFO pSkinInfo,
+ LPD3DXMESHCONTAINER* ppNewMeshContainer )
+ HRESULT DestroyFrame ( LPD3DXFRAME pFrameToFree )
+ HRESULT DestroyMeshContainer ( LPD3DXMESHCONTAINER pMeshContainerToFree ) ;
+
+C-TYPE: ID3DXLoadUserData
+TYPEDEF: ID3DXLoadUserData* LPD3DXLOADUSERDATA
+
+COM-INTERFACE: ID3DXLoadUserData f {00000000-0000-0000-0000-000000000000}
+ HRESULT LoadTopLevelData ( LPD3DXFILEDATA pXofChildData )
+ HRESULT LoadFrameChildData ( LPD3DXFRAME pFrame,
+ LPD3DXFILEDATA pXofChildData )
+ HRESULT LoadMeshChildData ( LPD3DXMESHCONTAINER pMeshContainer,
+ LPD3DXFILEDATA pXofChildData ) ;
+
+C-TYPE: ID3DXSaveUserData
+TYPEDEF: ID3DXSaveUserData* LPD3DXSAVEUSERDATA
+
+COM-INTERFACE: ID3DXSaveUserData f {00000000-0000-0000-0000-000000000000}
+ HRESULT AddFrameChildData (
+ D3DXFRAME* pFrame,
+ LPD3DXFILESAVEOBJECT pXofSave,
+ LPD3DXFILESAVEDATA pXofFrameData )
+
+ HRESULT AddMeshChildData (
+ D3DXMESHCONTAINER* pMeshContainer,
+ LPD3DXFILESAVEOBJECT pXofSave,
+ LPD3DXFILESAVEDATA pXofMeshData )
+ HRESULT AddTopLevelDataObjectsPre ( LPD3DXFILESAVEOBJECT pXofSave )
+ HRESULT AddTopLevelDataObjectsPost ( LPD3DXFILESAVEOBJECT pXofSave )
+ HRESULT RegisterTemplates ( LPD3DXFILE pXFileApi )
+ HRESULT SaveTemplates ( LPD3DXFILESAVEOBJECT pXofSave ) ;
+
+TYPEDEF: int D3DXCALLBACK_SEARCH_FLAGS
+CONSTANT: D3DXCALLBACK_SEARCH_EXCLUDING_INITIAL_POSITION 1
+CONSTANT: D3DXCALLBACK_SEARCH_BEHIND_INITIAL_POSITION 2
+CONSTANT: D3DXCALLBACK_SEARCH_FORCE_DWORD HEX: 7fffffff
+
+C-TYPE: ID3DXAnimationSet
+TYPEDEF: ID3DXAnimationSet* LPD3DXANIMATIONSET
+
+COM-INTERFACE: ID3DXAnimationSet IUnknown {698CFB3F-9289-4d95-9A57-33A94B5A65F9}
+ LPCSTR GetName ( )
+ double GetPeriod ( )
+ double GetPeriodicPosition ( double Position )
+ UINT GetNumAnimations ( )
+ HRESULT GetAnimationNameByIndex ( UINT Index, LPCSTR* ppName )
+ HRESULT GetAnimationIndexByName ( LPCSTR pName, UINT* pIndex )
+ HRESULT GetSRT (
+ double PeriodicPosition,
+ UINT Animation,
+ D3DXVECTOR3* pScale,
+ D3DXQUATERNION* pRotation,
+ D3DXVECTOR3* pTranslation )
+ HRESULT GetCallback (
+ double Position,
+ DWORD Flags,
+ double* pCallbackPosition,
+ LPVOID* ppCallbackData ) ;
+
+TYPEDEF: int D3DXPLAYBACK_TYPE
+CONSTANT: D3DXPLAY_LOOP 0
+CONSTANT: D3DXPLAY_ONCE 1
+CONSTANT: D3DXPLAY_PINGPONG 2
+CONSTANT: D3DXPLAY_FORCE_DWORD HEX: 7fffffff
+
+STRUCT: D3DXKEY_VECTOR3
+ { Time FLOAT }
+ { Value D3DXVECTOR3 } ;
+TYPEDEF: D3DXKEY_VECTOR3* LPD3DXKEY_VECTOR3
+
+STRUCT: D3DXKEY_QUATERNION
+ { Time FLOAT }
+ { Value D3DXQUATERNION } ;
+TYPEDEF: D3DXKEY_QUATERNION* LPD3DXKEY_QUATERNION
+
+STRUCT: D3DXKEY_CALLBACK
+ { Time FLOAT }
+ { pCallbackData LPVOID } ;
+TYPEDEF: D3DXKEY_CALLBACK* LPD3DXKEY_CALLBACK
+
+TYPEDEF: int D3DXCOMPRESSION_FLAGS
+CONSTANT: D3DXCOMPRESS_DEFAULT 0
+CONSTANT: D3DXCOMPRESS_FORCE_DWORD HEX: 7fffffff
+
+C-TYPE: ID3DXKeyframedAnimationSet
+TYPEDEF: ID3DXKeyframedAnimationSet* LPD3DXKEYFRAMEDANIMATIONSET
+
+COM-INTERFACE: ID3DXKeyframedAnimationSet ID3DXAnimationSet {FA4E8E3A-9786-407d-8B4C-5995893764AF}
+ D3DXPLAYBACK_TYPE GetPlaybackType ( )
+ double GetSourceTicksPerSecond ( )
+ UINT GetNumScaleKeys ( UINT Animation )
+ HRESULT GetScaleKeys ( UINT Animation, LPD3DXKEY_VECTOR3 pScaleKeys )
+ HRESULT GetScaleKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pScaleKey )
+ HRESULT SetScaleKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pScaleKey )
+ UINT GetNumRotationKeys ( UINT Animation )
+ HRESULT GetRotationKeys ( UINT Animation, LPD3DXKEY_QUATERNION pRotationKeys )
+ HRESULT GetRotationKey ( UINT Animation, UINT Key, LPD3DXKEY_QUATERNION pRotationKey )
+ HRESULT SetRotationKey ( UINT Animation, UINT Key, LPD3DXKEY_QUATERNION pRotationKey )
+ UINT GetNumTranslationKeys ( UINT Animation )
+ HRESULT GetTranslationKeys ( UINT Animation, LPD3DXKEY_VECTOR3 pTranslationKeys )
+ HRESULT GetTranslationKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pTranslationKey )
+ HRESULT SetTranslationKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pTranslationKey )
+ UINT GetNumCallbackKeys ( )
+ HRESULT GetCallbackKeys ( LPD3DXKEY_CALLBACK pCallbackKeys )
+ HRESULT GetCallbackKey ( UINT Key, LPD3DXKEY_CALLBACK pCallbackKey )
+ HRESULT SetCallbackKey ( UINT Key, LPD3DXKEY_CALLBACK pCallbackKey )
+ HRESULT UnregisterScaleKey ( UINT Animation, UINT Key )
+ HRESULT UnregisterRotationKey ( UINT Animation, UINT Key )
+ HRESULT UnregisterTranslationKey ( UINT Animation, UINT Key )
+ HRESULT RegisterAnimationSRTKeys (
+ LPCSTR pName,
+ UINT NumScaleKeys,
+ UINT NumRotationKeys,
+ UINT NumTranslationKeys,
+ D3DXKEY_VECTOR3* pScaleKeys,
+ D3DXKEY_QUATERNION* pRotationKeys,
+ D3DXKEY_VECTOR3* pTranslationKeys,
+ DWORD* pAnimationIndex )
+ HRESULT Compress (
+ DWORD Flags,
+ FLOAT Lossiness,
+ LPD3DXFRAME pHierarchy,
+ LPD3DXBUFFER* ppCompressedData )
+ HRESULT UnregisterAnimation ( UINT Index ) ;
+
+C-TYPE: ID3DXCompressedAnimationSet
+TYPEDEF: ID3DXCompressedAnimationSet* LPD3DXCOMPRESSEDANIMATIONSET
+
+COM-INTERFACE: ID3DXCompressedAnimationSet ID3DXAnimationSet {6CC2480D-3808-4739-9F88-DE49FACD8D4C}
+ D3DXPLAYBACK_TYPE GetPlaybackType ( )
+ double GetSourceTicksPerSecond ( )
+ HRESULT GetCompressedData ( LPD3DXBUFFER* ppCompressedData )
+ UINT GetNumCallbackKeys ( )
+ HRESULT GetCallbackKeys ( LPD3DXKEY_CALLBACK pCallbackKeys ) ;
+
+TYPEDEF: int D3DXPRIORITY_TYPE
+CONSTANT: D3DXPRIORITY_LOW 0
+CONSTANT: D3DXPRIORITY_HIGH 1
+CONSTANT: D3DXPRIORITY_FORCE_DWORD HEX: 7fffffff
+
+STRUCT: D3DXTRACK_DESC
+ { Priority D3DXPRIORITY_TYPE }
+ { Weight FLOAT }
+ { Speed FLOAT }
+ { Position double }
+ { Enable BOOL } ;
+TYPEDEF: D3DXTRACK_DESC* LPD3DXTRACK_DESC
+
+TYPEDEF: int D3DXEVENT_TYPE
+CONSTANT: D3DXEVENT_TRACKSPEED 0
+CONSTANT: D3DXEVENT_TRACKWEIGHT 1
+CONSTANT: D3DXEVENT_TRACKPOSITION 2
+CONSTANT: D3DXEVENT_TRACKENABLE 3
+CONSTANT: D3DXEVENT_PRIORITYBLEND 4
+CONSTANT: D3DXEVENT_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DXTRANSITION_TYPE
+CONSTANT: D3DXTRANSITION_LINEAR 0
+CONSTANT: D3DXTRANSITION_EASEINEASEOUT 1
+CONSTANT: D3DXTRANSITION_FORCE_DWORD HEX: 7fffffff
+
+UNION-STRUCT: D3DXEVENT_DESC_UNION
+ { Weight FLOAT }
+ { Speed FLOAT }
+ { Position double }
+ { Enable BOOL } ;
+STRUCT: D3DXEVENT_DESC
+ { Type D3DXEVENT_TYPE }
+ { Track UINT }
+ { StartTime double }
+ { Duration double }
+ { Transition D3DXTRANSITION_TYPE }
+ { Union D3DXEVENT_DESC_UNION } ;
+TYPEDEF: D3DXEVENT_DESC* LPD3DXEVENT_DESC
+
+TYPEDEF: DWORD D3DXEVENTHANDLE
+TYPEDEF: D3DXEVENTHANDLE* LPD3DXEVENTHANDLE
+
+C-TYPE: ID3DXAnimationCallbackHandler
+TYPEDEF: ID3DXAnimationCallbackHandler* LPD3DXANIMATIONCALLBACKHANDLER
+
+COM-INTERFACE: ID3DXAnimationCallbackHandler f {00000000-0000-0000-0000-000000000000}
+ HRESULT HandleCallback ( UINT Track, LPVOID pCallbackData ) ;
+
+C-TYPE: ID3DXAnimationController
+TYPEDEF: ID3DXAnimationController* LPD3DXANIMATIONCONTROLLER
+
+COM-INTERFACE: ID3DXAnimationController IUnknown {AC8948EC-F86D-43e2-96DE-31FC35F96D9E}
+ UINT GetMaxNumAnimationOutputs ( )
+ UINT GetMaxNumAnimationSets ( )
+ UINT GetMaxNumTracks ( )
+ UINT GetMaxNumEvents ( )
+ HRESULT RegisterAnimationOutput (
+ LPCSTR pName,
+ D3DXMATRIX* pMatrix,
+ D3DXVECTOR3* pScale,
+ D3DXQUATERNION* pRotation,
+ D3DXVECTOR3* pTranslation )
+ HRESULT RegisterAnimationSet ( LPD3DXANIMATIONSET pAnimSet )
+ HRESULT UnregisterAnimationSet ( LPD3DXANIMATIONSET pAnimSet )
+ UINT GetNumAnimationSets ( )
+ HRESULT GetAnimationSet ( UINT Index, LPD3DXANIMATIONSET* ppAnimationSet )
+ HRESULT GetAnimationSetByName ( LPCSTR szName, LPD3DXANIMATIONSET* ppAnimationSet )
+ HRESULT AdvanceTime ( double TimeDelta, LPD3DXANIMATIONCALLBACKHANDLER pCallbackHandler )
+ HRESULT ResetTime ( )
+ double GetTime ( )
+ HRESULT SetTrackAnimationSet ( UINT Track, LPD3DXANIMATIONSET pAnimSet )
+ HRESULT GetTrackAnimationSet ( UINT Track, LPD3DXANIMATIONSET* ppAnimSet )
+ HRESULT SetTrackPriority ( UINT Track, D3DXPRIORITY_TYPE Priority )
+ HRESULT SetTrackSpeed ( UINT Track, FLOAT Speed )
+ HRESULT SetTrackWeight ( UINT Track, FLOAT Weight )
+ HRESULT SetTrackPosition ( UINT Track, double Position )
+ HRESULT SetTrackEnable ( UINT Track, BOOL Enable )
+ HRESULT SetTrackDesc ( UINT Track, LPD3DXTRACK_DESC pDesc )
+ HRESULT GetTrackDesc ( UINT Track, LPD3DXTRACK_DESC pDesc )
+ HRESULT SetPriorityBlend ( FLOAT BlendWeight )
+ FLOAT GetPriorityBlend ( )
+ D3DXEVENTHANDLE KeyTrackSpeed ( UINT Track, FLOAT NewSpeed, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition )
+ D3DXEVENTHANDLE KeyTrackWeight ( UINT Track, FLOAT NewWeight, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition )
+ D3DXEVENTHANDLE KeyTrackPosition ( UINT Track, double NewPosition, double StartTime )
+ D3DXEVENTHANDLE KeyTrackEnable ( UINT Track, BOOL NewEnable, double StartTime )
+ D3DXEVENTHANDLE KeyPriorityBlend ( FLOAT NewBlendWeight, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition )
+ HRESULT UnkeyEvent ( D3DXEVENTHANDLE hEvent )
+ HRESULT UnkeyAllTrackEvents ( UINT Track )
+ HRESULT UnkeyAllPriorityBlends ( )
+ D3DXEVENTHANDLE GetCurrentTrackEvent ( UINT Track, D3DXEVENT_TYPE EventType )
+ D3DXEVENTHANDLE GetCurrentPriorityBlend ( )
+ D3DXEVENTHANDLE GetUpcomingTrackEvent ( UINT Track, D3DXEVENTHANDLE hEvent )
+ D3DXEVENTHANDLE GetUpcomingPriorityBlend ( D3DXEVENTHANDLE hEvent )
+ HRESULT ValidateEvent ( D3DXEVENTHANDLE hEvent )
+ HRESULT GetEventDesc ( D3DXEVENTHANDLE hEvent, LPD3DXEVENT_DESC pDesc )
+ HRESULT CloneAnimationController (
+ UINT MaxNumAnimationOutputs,
+ UINT MaxNumAnimationSets,
+ UINT MaxNumTracks,
+ UINT MaxNumEvents,
+ LPD3DXANIMATIONCONTROLLER* ppAnimController ) ;
+
+FUNCTION: HRESULT
+D3DXLoadMeshHierarchyFromXA
+ (
+ LPCSTR Filename,
+ DWORD MeshOptions,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXALLOCATEHIERARCHY pAlloc,
+ LPD3DXLOADUSERDATA pUserDataLoader,
+ LPD3DXFRAME* ppFrameHierarchy,
+ LPD3DXANIMATIONCONTROLLER* ppAnimController
+ ) ;
+
+FUNCTION: HRESULT
+D3DXLoadMeshHierarchyFromXW
+ (
+ LPCWSTR Filename,
+ DWORD MeshOptions,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXALLOCATEHIERARCHY pAlloc,
+ LPD3DXLOADUSERDATA pUserDataLoader,
+ LPD3DXFRAME* ppFrameHierarchy,
+ LPD3DXANIMATIONCONTROLLER* ppAnimController
+ ) ;
+
+ALIAS: D3DXLoadMeshHierarchyFromX D3DXLoadMeshHierarchyFromXW
+
+FUNCTION: HRESULT
+D3DXLoadMeshHierarchyFromXInMemory
+ (
+ LPCVOID Memory,
+ DWORD SizeOfMemory,
+ DWORD MeshOptions,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXALLOCATEHIERARCHY pAlloc,
+ LPD3DXLOADUSERDATA pUserDataLoader,
+ LPD3DXFRAME* ppFrameHierarchy,
+ LPD3DXANIMATIONCONTROLLER* ppAnimController
+ ) ;
+
+FUNCTION: HRESULT
+D3DXSaveMeshHierarchyToFileA
+ (
+ LPCSTR Filename,
+ DWORD XFormat,
+ D3DXFRAME* pFrameRoot,
+ LPD3DXANIMATIONCONTROLLER pAnimcontroller,
+ LPD3DXSAVEUSERDATA pUserDataSaver
+ ) ;
+
+FUNCTION: HRESULT
+D3DXSaveMeshHierarchyToFileW
+ (
+ LPCWSTR Filename,
+ DWORD XFormat,
+ D3DXFRAME* pFrameRoot,
+ LPD3DXANIMATIONCONTROLLER pAnimController,
+ LPD3DXSAVEUSERDATA pUserDataSaver
+ ) ;
+
+ALIAS: D3DXSaveMeshHierarchyToFile D3DXSaveMeshHierarchyToFileW
+
+FUNCTION: HRESULT
+D3DXFrameDestroy
+ (
+ LPD3DXFRAME pFrameRoot,
+ LPD3DXALLOCATEHIERARCHY pAlloc
+ ) ;
+
+FUNCTION: HRESULT
+D3DXFrameAppendChild
+ (
+ LPD3DXFRAME pFrameParent,
+ D3DXFRAME* pFrameChild
+ ) ;
+
+FUNCTION: LPD3DXFRAME
+D3DXFrameFind
+ (
+ D3DXFRAME* pFrameRoot,
+ LPCSTR Name
+ ) ;
+
+FUNCTION: HRESULT
+D3DXFrameRegisterNamedMatrices
+ (
+ LPD3DXFRAME pFrameRoot,
+ LPD3DXANIMATIONCONTROLLER pAnimController
+ ) ;
+
+FUNCTION: UINT
+D3DXFrameNumNamedMatrices
+ (
+ D3DXFRAME* pFrameRoot
+ ) ;
+
+FUNCTION: HRESULT
+D3DXFrameCalculateBoundingSphere
+ (
+ D3DXFRAME* pFrameRoot,
+ LPD3DXVECTOR3 pObjectCenter,
+ FLOAT* pObjectRadius
+ ) ;
+
+FUNCTION: HRESULT
+D3DXCreateKeyframedAnimationSet
+ (
+ LPCSTR pName,
+ double TicksPerSecond,
+ D3DXPLAYBACK_TYPE Playback,
+ UINT NumAnimations,
+ UINT NumCallbackKeys,
+ D3DXKEY_CALLBACK* pCallbackKeys,
+ LPD3DXKEYFRAMEDANIMATIONSET* ppAnimationSet
+ ) ;
+
+FUNCTION: HRESULT
+D3DXCreateCompressedAnimationSet
+ (
+ LPCSTR pName,
+ double TicksPerSecond,
+ D3DXPLAYBACK_TYPE Playback,
+ LPD3DXBUFFER pCompressedData,
+ UINT NumCallbackKeys,
+ D3DXKEY_CALLBACK* pCallbackKeys,
+ LPD3DXCOMPRESSEDANIMATIONSET* ppAnimationSet
+ ) ;
+
+FUNCTION: HRESULT
+D3DXCreateAnimationController
+ (
+ UINT MaxNumMatrices,
+ UINT MaxNumAnimationSets,
+ UINT MaxNumTracks,
+ UINT MaxNumEvents,
+ LPD3DXANIMATIONCONTROLLER* ppAnimController
+ ) ;
--- /dev/null
+DirectX 9 bindings. Corresponds to d3dx9anim.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax windows.types windows.directx.d3d9 windows.com.syntax
+windows.com windows.directx.d3dx9math windows.directx.d3d9types classes.struct
+windows.gdi32 ;
+IN: windows.directx.d3dx9core
+
+LIBRARY: d3dx9
+
+CONSTANT: D3DX_VERSION HEX: 0902
+CONSTANT: D3DX_SDK_VERSION 42
+
+FUNCTION: BOOL D3DXCheckVersion ( UINT D3DSdkVersion, UINT D3DXSdkVersion ) ;
+FUNCTION: BOOL D3DXDebugMute ( BOOL Mute ) ;
+FUNCTION: UINT D3DXGetDriverLevel ( LPDIRECT3DDEVICE9 pDevice ) ;
+
+C-TYPE: ID3DXBuffer
+TYPEDEF: ID3DXBuffer* LPD3DXBUFFER
+
+COM-INTERFACE: ID3DXBuffer IUnknown {8BA5FB08-5195-40e2-AC58-0D989C3A0102}
+ LPVOID GetBufferPointer ( )
+ DWORD GetBufferSize ( ) ;
+
+CONSTANT: D3DXSPRITE_DONOTSAVESTATE 1
+CONSTANT: D3DXSPRITE_DONOTMODIFY_RENDERSTATE 2
+CONSTANT: D3DXSPRITE_OBJECTSPACE 4
+CONSTANT: D3DXSPRITE_BILLBOARD 8
+CONSTANT: D3DXSPRITE_ALPHABLEND 16
+CONSTANT: D3DXSPRITE_SORT_TEXTURE 32
+CONSTANT: D3DXSPRITE_SORT_DEPTH_FRONTTOBACK 64
+CONSTANT: D3DXSPRITE_SORT_DEPTH_BACKTOFRONT 128
+CONSTANT: D3DXSPRITE_DO_NOT_ADDREF_TEXTURE 256
+
+C-TYPE: ID3DXSprite
+TYPEDEF: ID3DXSprite* LPD3DXSPRITE
+
+COM-INTERFACE: ID3DXSprite IUnknown {BA0B762D-7D28-43ec-B9DC-2F84443B0614}
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT GetTransform ( D3DXMATRIX* pTransform )
+ HRESULT SetTransform ( D3DXMATRIX* pTransform )
+ HRESULT SetWorldViewRH ( D3DXMATRIX* pWorld, D3DXMATRIX* pView )
+ HRESULT SetWorldViewLH ( D3DXMATRIX* pWorld, D3DXMATRIX* pView )
+ HRESULT Begin ( DWORD Flags )
+ HRESULT Draw ( LPDIRECT3DTEXTURE9 pTexture, RECT* pSrcRect, D3DXVECTOR3* pCenter, D3DXVECTOR3* pPosition, D3DCOLOR Color )
+ HRESULT Flush ( )
+ HRESULT End ( )
+ HRESULT OnLostDevice ( )
+ HRESULT OnResetDevice ( ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateSprite (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPD3DXSPRITE* ppSprite ) ;
+
+STRUCT: D3DXFONT_DESCA
+ { Height INT }
+ { Width UINT }
+ { Weight UINT }
+ { MipLevels UINT }
+ { Italic BOOL }
+ { CharSet BYTE }
+ { OutputPrecision BYTE }
+ { Quality BYTE }
+ { PitchAndFamily BYTE }
+ { FaceName CHAR[LF_FACESIZE] } ;
+TYPEDEF: D3DXFONT_DESCA* LPD3DXFONT_DESCA
+
+STRUCT: D3DXFONT_DESCW
+ { Height INT }
+ { Width UINT }
+ { Weight UINT }
+ { MipLevels UINT }
+ { Italic BOOL }
+ { CharSet BYTE }
+ { OutputPrecision BYTE }
+ { Quality BYTE }
+ { PitchAndFamily BYTE }
+ { FaceName WCHAR[LF_FACESIZE] } ;
+TYPEDEF: D3DXFONT_DESCW* LPD3DXFONT_DESCW
+
+TYPEDEF: D3DXFONT_DESCW D3DXFONT_DESC
+TYPEDEF: LPD3DXFONT_DESCW LPD3DXFONT_DESC
+
+C-TYPE: ID3DXFont
+TYPEDEF: ID3DXFont* LPD3DXFONT
+C-TYPE: TEXTMETRICA
+C-TYPE: TEXTMETRICW
+
+COM-INTERFACE: ID3DXFont IUnknown {D79DBB70-5F21-4d36-BBC2-FF525C213CDC}
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT GetDescA ( D3DXFONT_DESCA* pDesc )
+ HRESULT GetDescW ( D3DXFONT_DESCW* pDesc )
+ BOOL GetTextMetricsA ( TEXTMETRICA* pTextMetrics )
+ BOOL GetTextMetricsW ( TEXTMETRICW* pTextMetrics )
+ HDC GetDC ( )
+ HRESULT GetGlyphData ( UINT Glyph, LPDIRECT3DTEXTURE9* ppTexture, RECT* pBlackBox, POINT* pCellInc )
+ HRESULT PreloadCharacters ( UINT First, UINT Last )
+ HRESULT PreloadGlyphs ( UINT First, UINT Last )
+ HRESULT PreloadTextA ( LPCSTR pString, INT Count )
+ HRESULT PreloadTextW ( LPCWSTR pString, INT Count )
+ INT DrawTextA ( LPD3DXSPRITE pSprite, LPCSTR pString, INT Count, LPRECT pRect, DWORD Format, D3DCOLOR Color )
+ INT DrawTextW ( LPD3DXSPRITE pSprite, LPCWSTR pString, INT Count, LPRECT pRect, DWORD Format, D3DCOLOR Color )
+ HRESULT OnLostDevice ( )
+ HRESULT OnResetDevice ( ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateFontA (
+ LPDIRECT3DDEVICE9 pDevice,
+ INT Height,
+ UINT Width,
+ UINT Weight,
+ UINT MipLevels,
+ BOOL Italic,
+ DWORD CharSet,
+ DWORD OutputPrecision,
+ DWORD Quality,
+ DWORD PitchAndFamily,
+ LPCSTR pFaceName,
+ LPD3DXFONT* ppFont ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateFontW (
+ LPDIRECT3DDEVICE9 pDevice,
+ INT Height,
+ UINT Width,
+ UINT Weight,
+ UINT MipLevels,
+ BOOL Italic,
+ DWORD CharSet,
+ DWORD OutputPrecision,
+ DWORD Quality,
+ DWORD PitchAndFamily,
+ LPCWSTR pFaceName,
+ LPD3DXFONT* ppFont ) ;
+
+ALIAS: D3DXCreateFont D3DXCreateFontW
+
+FUNCTION: HRESULT
+ D3DXCreateFontIndirectA (
+ LPDIRECT3DDEVICE9 pDevice,
+ D3DXFONT_DESCA* pDesc,
+ LPD3DXFONT* ppFont ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateFontIndirectW (
+ LPDIRECT3DDEVICE9 pDevice,
+ D3DXFONT_DESCW* pDesc,
+ LPD3DXFONT* ppFont ) ;
+
+ALIAS: D3DXCreateFontIndirect D3DXCreateFontIndirectW
+
+STRUCT: D3DXRTS_DESC
+ { Width UINT }
+ { Height UINT }
+ { Format D3DFORMAT }
+ { DepthStencil BOOL }
+ { DepthStencilFormat D3DFORMAT } ;
+TYPEDEF: D3DXRTS_DESC* LPD3DXRTS_DESC
+
+C-TYPE: ID3DXRenderToSurface
+TYPEDEF: ID3DXRenderToSurface* LPD3DXRENDERTOSURFACE
+
+COM-INTERFACE: ID3DXRenderToSurface IUnknown {6985F346-2C3D-43b3-BE8B-DAAE8A03D894}
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT GetDesc ( D3DXRTS_DESC* pDesc )
+ HRESULT BeginScene ( LPDIRECT3DSURFACE9 pSurface, D3DVIEWPORT9* pViewport )
+ HRESULT EndScene ( DWORD MipFilter )
+ HRESULT OnLostDevice ( )
+ HRESULT OnResetDevice ( ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateRenderToSurface (
+ LPDIRECT3DDEVICE9 pDevice,
+ UINT Width,
+ UINT Height,
+ D3DFORMAT Format,
+ BOOL DepthStencil,
+ D3DFORMAT DepthStencilFormat,
+ LPD3DXRENDERTOSURFACE* ppRenderToSurface ) ;
+
+STRUCT: D3DXRTE_DESC
+ { Size UINT }
+ { MipLevels UINT }
+ { Format D3DFORMAT }
+ { DepthStencil BOOL }
+ { DepthStencilFormat D3DFORMAT } ;
+TYPEDEF: D3DXRTE_DESC* LPD3DXRTE_DESC
+
+C-TYPE: ID3DXRenderToEnvMap
+TYPEDEF: ID3DXRenderToEnvMap* LPD3DXRenderToEnvMap
+
+COM-INTERFACE: ID3DXRenderToEnvMap IUnknown {313F1B4B-C7B0-4fa2-9D9D-8D380B64385E}
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT GetDesc ( D3DXRTE_DESC* pDesc )
+ HRESULT BeginCube ( LPDIRECT3DCUBETEXTURE9 pCubeTex )
+ HRESULT BeginSphere ( LPDIRECT3DTEXTURE9 pTex )
+ HRESULT BeginHemisphere ( LPDIRECT3DTEXTURE9 pTexZPos, LPDIRECT3DTEXTURE9 pTexZNeg )
+ HRESULT BeginParabolic ( LPDIRECT3DTEXTURE9 pTexZPos, LPDIRECT3DTEXTURE9 pTexZNeg )
+ HRESULT Face ( D3DCUBEMAP_FACES Face, DWORD MipFilter )
+ HRESULT End ( DWORD MipFilter )
+ HRESULT OnLostDevice ( )
+ HRESULT OnResetDevice ( ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateRenderToEnvMap (
+ LPDIRECT3DDEVICE9 pDevice,
+ UINT Size,
+ UINT MipLevels,
+ D3DFORMAT Format,
+ BOOL DepthStencil,
+ D3DFORMAT DepthStencilFormat,
+ LPD3DXRenderToEnvMap* ppRenderToEnvMap ) ;
+
+C-TYPE: ID3DXLine
+TYPEDEF: ID3DXLine* LPD3DXLINE
+COM-INTERFACE: ID3DXLine IUnknown {D379BA7F-9042-4ac4-9F5E-58192A4C6BD8}
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT Begin ( )
+ HRESULT Draw ( D3DXVECTOR2* pVertexList, DWORD dwVertexListCount, D3DCOLOR Color )
+ HRESULT DrawTransform ( D3DXVECTOR3* pVertexList,
+ DWORD dwVertexListCount, D3DXMATRIX* pTransform,
+ D3DCOLOR Color )
+ HRESULT SetPattern ( DWORD dwPattern )
+ DWORD GetPattern ( )
+ HRESULT SetPatternScale ( FLOAT fPatternScale )
+ FLOAT GetPatternScale ( )
+ HRESULT SetWidth ( FLOAT fWidth )
+ FLOAT GetWidth ( )
+ HRESULT SetAntialias ( BOOL bAntialias )
+ BOOL GetAntialias ( )
+ HRESULT SetGLLines ( BOOL bGLLines )
+ BOOL GetGLLines ( )
+ HRESULT End ( )
+ HRESULT OnLostDevice ( )
+ HRESULT OnResetDevice ( ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateLine (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPD3DXLINE* ppLine ) ;
--- /dev/null
+DirectX 9 bindings. Corresponds to d3dx9core.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax classes.struct math windows.com
+windows.com.syntax windows.directx.d3d9
+windows.directx.d3d9types windows.directx.d3dx9core
+windows.directx.d3dx9math windows.directx.d3dx9shader
+windows.types ;
+IN: windows.directx.d3dx9effect
+
+LIBRARY: d3dx9
+
+CONSTANT: D3DXFX_DONOTSAVESTATE 1
+CONSTANT: D3DXFX_DONOTSAVESHADERSTATE 2
+CONSTANT: D3DXFX_DONOTSAVESAMPLERSTATE 4
+
+: D3DXFX_NOT_CLONEABLE ( -- n ) 1 11 shift ; inline
+: D3DXFX_LARGEADDRESSAWARE ( -- n ) 1 17 shift ; inline
+
+CONSTANT: D3DX_PARAMETER_SHARED 1
+CONSTANT: D3DX_PARAMETER_LITERAL 2
+CONSTANT: D3DX_PARAMETER_ANNOTATION 4
+
+STRUCT: D3DXEFFECT_DESC
+ { Creator LPCSTR }
+ { Parameters UINT }
+ { Techniques UINT }
+ { Functions UINT } ;
+
+STRUCT: D3DXPARAMETER_DESC
+ { Name LPCSTR }
+ { Semantic LPCSTR }
+ { Class D3DXPARAMETER_CLASS }
+ { Type D3DXPARAMETER_TYPE }
+ { Rows UINT }
+ { Columns UINT }
+ { Elements UINT }
+ { Annotations UINT }
+ { StructMembers UINT }
+ { Flags DWORD }
+ { Bytes UINT } ;
+
+STRUCT: D3DXTECHNIQUE_DESC
+ { Name LPCSTR }
+ { Passes UINT }
+ { Annotations UINT } ;
+
+STRUCT: D3DXPASS_DESC
+ { Name LPCSTR }
+ { Annotations UINT }
+ { pVertexShaderFunction DWORD* }
+ { pPixelShaderFunction DWORD* } ;
+
+STRUCT: D3DXFUNCTION_DESC
+ { Name LPCSTR }
+ { Annotations UINT } ;
+
+C-TYPE: ID3DXEffectPool
+TYPEDEF: ID3DXEffectPool* LPD3DXEFFECTPOOL
+
+COM-INTERFACE: ID3DXEffectPool IUnknown {9537AB04-3250-412e-8213-FCD2F8677933} ;
+
+C-TYPE: ID3DXBaseEffect
+TYPEDEF: ID3DXBaseEffect* LPD3DXBASEEFFECT
+
+COM-INTERFACE: ID3DXBaseEffect IUnknown {017C18AC-103F-4417-8C51-6BF6EF1E56BE}
+ HRESULT GetDesc ( D3DXEFFECT_DESC* pDesc )
+ HRESULT GetParameterDesc ( D3DXHANDLE hParameter, D3DXPARAMETER_DESC* pDesc )
+ HRESULT GetTechniqueDesc ( D3DXHANDLE hTechnique, D3DXTECHNIQUE_DESC* pDesc )
+ HRESULT GetPassDesc ( D3DXHANDLE hPass, D3DXPASS_DESC* pDesc )
+ HRESULT GetFunctionDesc ( D3DXHANDLE hShader, D3DXFUNCTION_DESC* pDesc )
+ D3DXHANDLE GetParameter ( D3DXHANDLE hParameter, UINT Index )
+ D3DXHANDLE GetParameterByName ( D3DXHANDLE hParameter, LPCSTR pName )
+ D3DXHANDLE GetParameterBySemantic ( D3DXHANDLE hParameter, LPCSTR pSemantic )
+ D3DXHANDLE GetParameterElement ( D3DXHANDLE hParameter, UINT Index )
+ D3DXHANDLE GetTechnique ( UINT Index )
+ D3DXHANDLE GetTechniqueByName ( LPCSTR pName )
+ D3DXHANDLE GetPass ( D3DXHANDLE hTechnique, UINT Index )
+ D3DXHANDLE GetPassByName ( D3DXHANDLE hTechnique, LPCSTR pName )
+ D3DXHANDLE GetFunction ( UINT Index )
+ D3DXHANDLE GetFunctionByName ( LPCSTR pName )
+ D3DXHANDLE GetAnnotation ( D3DXHANDLE hObject, UINT Index )
+ D3DXHANDLE GetAnnotationByName ( D3DXHANDLE hObject, LPCSTR pName )
+ HRESULT SetValue ( D3DXHANDLE hParameter, LPCVOID pData, UINT Bytes )
+ HRESULT GetValue ( D3DXHANDLE hParameter, LPVOID pData, UINT Bytes )
+ HRESULT SetBool ( D3DXHANDLE hParameter, BOOL b )
+ HRESULT GetBool ( D3DXHANDLE hParameter, BOOL* pb )
+ HRESULT SetBoolArray ( D3DXHANDLE hParameter, BOOL* pb, UINT Count )
+ HRESULT GetBoolArray ( D3DXHANDLE hParameter, BOOL* pb, UINT Count )
+ HRESULT SetInt ( D3DXHANDLE hParameter, INT n )
+ HRESULT GetInt ( D3DXHANDLE hParameter, INT* pn )
+ HRESULT SetIntArray ( D3DXHANDLE hParameter, INT* pn, UINT Count )
+ HRESULT GetIntArray ( D3DXHANDLE hParameter, INT* pn, UINT Count )
+ HRESULT SetFloat ( D3DXHANDLE hParameter, FLOAT f )
+ HRESULT GetFloat ( D3DXHANDLE hParameter, FLOAT* pf )
+ HRESULT SetFloatArray ( D3DXHANDLE hParameter, FLOAT* pf, UINT Count )
+ HRESULT GetFloatArray ( D3DXHANDLE hParameter, FLOAT* pf, UINT Count )
+ HRESULT SetVector ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector )
+ HRESULT GetVector ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector )
+ HRESULT SetVectorArray ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count )
+ HRESULT GetVectorArray ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count )
+ HRESULT SetMatrix ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix )
+ HRESULT GetMatrix ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix )
+ HRESULT SetMatrixArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count )
+ HRESULT GetMatrixArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count )
+ HRESULT SetMatrixPointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count )
+ HRESULT GetMatrixPointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count )
+ HRESULT SetMatrixTranspose ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix )
+ HRESULT GetMatrixTranspose ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix )
+ HRESULT SetMatrixTransposeArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count )
+ HRESULT GetMatrixTransposeArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count )
+ HRESULT SetMatrixTransposePointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count )
+ HRESULT GetMatrixTransposePointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count )
+ HRESULT SetString ( D3DXHANDLE hParameter, LPCSTR pString )
+ HRESULT GetString ( D3DXHANDLE hParameter, LPCSTR* ppString )
+ HRESULT SetTexture ( D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 pTexture )
+ HRESULT GetTexture ( D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9* ppTexture )
+ HRESULT GetPixelShader ( D3DXHANDLE hParameter, LPDIRECT3DPIXELSHADER9* ppPShader )
+ HRESULT GetVertexShader ( D3DXHANDLE hParameter, LPDIRECT3DVERTEXSHADER9* ppVShader )
+ HRESULT SetArrayRange ( D3DXHANDLE hParameter, UINT uStart, UINT uEnd ) ;
+
+C-TYPE: ID3DXEffectStateManager
+TYPEDEF: ID3DXEffectStateManager* LPD3DXEFFECTSTATEMANAGER
+
+COM-INTERFACE: ID3DXEffectStateManager IUnknown {79AAB587-6DBC-4fa7-82DE-37FA1781C5CE}
+ HRESULT SetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix )
+ HRESULT SetMaterial ( D3DMATERIAL9* pMaterial )
+ HRESULT SetLight ( DWORD Index, D3DLIGHT9* pLight )
+ HRESULT LightEnable ( DWORD Index, BOOL Enable )
+ HRESULT SetRenderState ( D3DRENDERSTATETYPE State, DWORD Value )
+ HRESULT SetTexture ( DWORD Stage, LPDIRECT3DBASETEXTURE9 pTexture )
+ HRESULT SetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value )
+ HRESULT SetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value )
+ HRESULT SetNPatchMode ( FLOAT NumSegments )
+ HRESULT SetFVF ( DWORD FVF )
+ HRESULT SetVertexShader ( LPDIRECT3DVERTEXSHADER9 pShader )
+ HRESULT SetVertexShaderConstantF ( UINT RegisterIndex, FLOAT* pConstantData, UINT RegisterCount )
+ HRESULT SetVertexShaderConstantI ( UINT RegisterIndex, INT* pConstantData, UINT RegisterCount )
+ HRESULT SetVertexShaderConstantB ( UINT RegisterIndex, BOOL* pConstantData, UINT RegisterCount )
+ HRESULT SetPixelShader ( LPDIRECT3DPIXELSHADER9 pShader )
+ HRESULT SetPixelShaderConstantF ( UINT RegisterIndex, FLOAT* pConstantData, UINT RegisterCount )
+ HRESULT SetPixelShaderConstantI ( UINT RegisterIndex, INT* pConstantData, UINT RegisterCount )
+ HRESULT SetPixelShaderConstantB ( UINT RegisterIndex, BOOL* pConstantData, UINT RegisterCount ) ;
+
+C-TYPE: ID3DXEffect
+TYPEDEF: ID3DXEffect* LPD3DXEFFECT
+
+COM-INTERFACE: ID3DXEffect ID3DXBaseEffect {F6CEB4B3-4E4C-40dd-B883-8D8DE5EA0CD5}
+ HRESULT GetPool ( LPD3DXEFFECTPOOL* ppPool )
+ HRESULT SetTechnique ( D3DXHANDLE hTechnique )
+ D3DXHANDLE GetCurrentTechnique ( )
+ HRESULT ValidateTechnique ( D3DXHANDLE hTechnique )
+ HRESULT FindNextValidTechnique ( D3DXHANDLE hTechnique, D3DXHANDLE* pTechnique )
+ BOOL IsParameterUsed ( D3DXHANDLE hParameter, D3DXHANDLE hTechnique )
+ HRESULT Begin ( UINT* pPasses, DWORD Flags )
+ HRESULT BeginPass ( UINT Pass )
+ HRESULT CommitChanges ( )
+ HRESULT EndPass ( )
+ HRESULT End ( )
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT OnLostDevice ( )
+ HRESULT OnResetDevice ( )
+ HRESULT SetStateManager ( LPD3DXEFFECTSTATEMANAGER pManager )
+ HRESULT GetStateManager ( LPD3DXEFFECTSTATEMANAGER* ppManager )
+ HRESULT BeginParameterBlock ( )
+ D3DXHANDLE EndParameterBlock ( )
+ HRESULT ApplyParameterBlock ( D3DXHANDLE hParameterBlock )
+ HRESULT DeleteParameterBlock ( D3DXHANDLE hParameterBlock )
+ HRESULT CloneEffect ( LPDIRECT3DDEVICE9 pDevice, LPD3DXEFFECT* ppEffect )
+ HRESULT SetRawValue ( D3DXHANDLE hParameter, LPCVOID pData, UINT ByteOffset, UINT Bytes ) ;
+
+C-TYPE: ID3DXEffectCompiler
+TYPEDEF: ID3DXEffectCompiler* LPD3DXEFFECTCOMPILER
+
+COM-INTERFACE: ID3DXEffectCompiler ID3DXBaseEffect {51B8A949-1A31-47e6-BEA0-4B30DB53F1E0}
+ HRESULT SetLiteral ( D3DXHANDLE hParameter, BOOL Literal )
+ HRESULT GetLiteral ( D3DXHANDLE hParameter, BOOL* pLiteral )
+ HRESULT CompileEffect ( DWORD Flags, LPD3DXBUFFER* ppEffect, LPD3DXBUFFER* ppErrorMsgs )
+ HRESULT CompileShader ( D3DXHANDLE hFunction, LPCSTR pTarget, DWORD Flags,
+ LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs,
+ LPD3DXCONSTANTTABLE* ppConstantTable ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectPool ( LPD3DXEFFECTPOOL* ppPool ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectFromFileA (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectFromFileW (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCWSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+ALIAS: D3DXCreateEffectFromFile D3DXCreateEffectFromFileW
+
+FUNCTION: HRESULT
+ D3DXCreateEffectFromResourceA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectFromResourceW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+ALIAS: D3DXCreateEffectFromResource D3DXCreateEffectFromResourceW
+
+FUNCTION: HRESULT
+ D3DXCreateEffect (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCVOID pSrcData,
+ UINT SrcDataLen,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectFromFileExA (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pSkipConstants,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectFromFileExW (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCWSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pSkipConstants,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+ALIAS: D3DXCreateEffectFromFileEx D3DXCreateEffectFromFileExW
+
+FUNCTION: HRESULT
+ D3DXCreateEffectFromResourceExA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pSkipConstants,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectFromResourceExW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pSkipConstants,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+ALIAS: D3DXCreateEffectFromResourceEx D3DXCreateEffectFromResourceExW
+
+FUNCTION: HRESULT
+ D3DXCreateEffectEx (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCVOID pSrcData,
+ UINT SrcDataLen,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pSkipConstants,
+ DWORD Flags,
+ LPD3DXEFFECTPOOL pPool,
+ LPD3DXEFFECT* ppEffect,
+ LPD3DXBUFFER* ppCompilationErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectCompilerFromFileA (
+ LPCSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTCOMPILER* ppCompiler,
+ LPD3DXBUFFER* ppParseErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectCompilerFromFileW (
+ LPCWSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTCOMPILER* ppCompiler,
+ LPD3DXBUFFER* ppParseErrors ) ;
+
+ALIAS: D3DXCreateEffectCompilerFromFile D3DXCreateEffectCompilerFromFileW
+
+FUNCTION: HRESULT
+ D3DXCreateEffectCompilerFromResourceA (
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTCOMPILER* ppCompiler,
+ LPD3DXBUFFER* ppParseErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateEffectCompilerFromResourceW (
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTCOMPILER* ppCompiler,
+ LPD3DXBUFFER* ppParseErrors ) ;
+
+ALIAS: D3DXCreateEffectCompilerFromResource D3DXCreateEffectCompilerFromResourceW
+
+FUNCTION: HRESULT
+ D3DXCreateEffectCompiler (
+ LPCSTR pSrcData,
+ UINT SrcDataLen,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXEFFECTCOMPILER* ppCompiler,
+ LPD3DXBUFFER* ppParseErrors ) ;
+
+FUNCTION: HRESULT
+ D3DXDisassembleEffect (
+ LPD3DXEFFECT pEffect,
+ BOOL EnableColorCode,
+ LPD3DXBUFFER* ppDisassembly ) ;
+
--- /dev/null
+DirectX 9 bindings. Corresponds to d3dx9effect.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: math classes.struct windows.types alien.syntax windows.directx.d3d9types
+windows.com.syntax windows.com windows.directx.d3d9 ;
+IN: windows.directx.d3dx9math
+
+LIBRARY: d3dx9
+
+CONSTANT: D3DX_PI 3.141592654
+CONSTANT: D3DX_1BYPI 0.318309886
+
+: D3DXToRadian ( degree -- radian ) D3DX_PI 180.0 / * ; inline
+: D3DXToDegree ( radian -- degree ) 180.0 D3DX_PI / * ; inline
+
+CONSTANT: D3DX_16F_DIG 3
+CONSTANT: D3DX_16F_EPSILON 4.8875809e-4
+CONSTANT: D3DX_16F_MANT_DIG 11
+CONSTANT: D3DX_16F_MAX 6.550400e+004
+CONSTANT: D3DX_16F_MAX_10_EXP 4
+CONSTANT: D3DX_16F_MAX_EXP 15
+CONSTANT: D3DX_16F_MIN 6.1035156e-5
+CONSTANT: D3DX_16F_MIN_10_EXP -4
+CONSTANT: D3DX_16F_MIN_EXP -14
+CONSTANT: D3DX_16F_RADIX 2
+CONSTANT: D3DX_16F_ROUNDS 1
+
+STRUCT: D3DXFLOAT16
+ { value WORD } ;
+TYPEDEF: D3DXFLOAT16* LPD3DXFLOAT16
+
+STRUCT: D3DXVECTOR2
+ { x FLOAT }
+ { y FLOAT } ;
+TYPEDEF: D3DXVECTOR2* LPD3DXVECTOR2
+
+STRUCT: D3DXVECTOR2_16F
+ { x D3DXFLOAT16 }
+ { y D3DXFLOAT16 } ;
+TYPEDEF: D3DXVECTOR2_16F* LPD3DXVECTOR2_16F
+
+TYPEDEF: D3DVECTOR D3DXVECTOR3
+TYPEDEF: D3DXVECTOR3* LPD3DXVECTOR3
+
+STRUCT: D3DXVECTOR3_16F
+ { x D3DXFLOAT16 }
+ { y D3DXFLOAT16 }
+ { z D3DXFLOAT16 } ;
+TYPEDEF: D3DXVECTOR3_16F* LPD3DXVECTOR3_16F
+
+STRUCT: D3DXVECTOR4
+ { x FLOAT }
+ { y FLOAT }
+ { z FLOAT }
+ { w FLOAT } ;
+TYPEDEF: D3DXVECTOR4* LPD3DXVECTOR4
+
+STRUCT: D3DXVECTOR4_16F
+ { x D3DXFLOAT16 }
+ { y D3DXFLOAT16 }
+ { z D3DXFLOAT16 }
+ { w D3DXFLOAT16 } ;
+TYPEDEF: D3DXVECTOR4_16F* LPD3DXVECTOR4_16F
+
+TYPEDEF: D3DMATRIX D3DXMATRIX
+TYPEDEF: D3DXMATRIX* LPD3DXMATRIX
+TYPEDEF: D3DXMATRIX D3DXMATRIXA16
+TYPEDEF: D3DXMATRIXA16* LPD3DXMATRIXA16
+
+STRUCT: D3DXQUATERNION
+ { x FLOAT }
+ { y FLOAT }
+ { z FLOAT }
+ { w FLOAT } ;
+TYPEDEF: D3DXQUATERNION* LPD3DXQUATERNION
+
+STRUCT: D3DXPLANE
+ { a FLOAT }
+ { b FLOAT }
+ { c FLOAT }
+ { d FLOAT } ;
+TYPEDEF: D3DXPLANE* LPD3DXPLANE
+
+STRUCT: D3DXCOLOR
+ { r FLOAT }
+ { g FLOAT }
+ { b FLOAT }
+ { a FLOAT } ;
+TYPEDEF: D3DXCOLOR* LPD3DXCOLOR
+
+C-TYPE: ID3DXMatrixStack
+TYPEDEF: ID3DXMatrixStack* LPD3DXMATRIXSTACK
+
+COM-INTERFACE: ID3DXMatrixStack IUnknown {C7885BA7-F990-4fe7-922D-8515E477DD85}
+ HRESULT Pop ( )
+ HRESULT Push ( )
+ HRESULT LoadIdentity ( )
+ HRESULT LoadMatrix ( D3DXMATRIX* pM )
+ HRESULT MultMatrix ( D3DXMATRIX* pM )
+ HRESULT MultMatrixLocal ( D3DXMATRIX* pM )
+ HRESULT RotateAxis ( D3DXVECTOR3* pV, FLOAT Angle )
+ HRESULT RotateAxisLocal ( D3DXVECTOR3* pV, FLOAT Angle )
+ HRESULT RotateYawPitchRoll ( FLOAT Yaw, FLOAT Pitch, FLOAT Roll )
+ HRESULT RotateYawPitchRollLocal ( FLOAT Yaw, FLOAT Pitch, FLOAT Roll )
+ HRESULT Scale ( FLOAT x, FLOAT y, FLOAT z )
+ HRESULT ScaleLocal ( FLOAT x, FLOAT y, FLOAT z )
+ HRESULT Translate ( FLOAT x, FLOAT y, FLOAT z )
+ HRESULT TranslateLocal ( FLOAT x, FLOAT y, FLOAT z )
+ D3DXMATRIX* GetTop ( ) ;
+
+FUNCTION: HRESULT D3DXCreateMatrixStack (
+ DWORD Flags,
+ LPD3DXMATRIXSTACK* ppStack ) ;
+
+CONSTANT: D3DXSH_MINORDER 2
+CONSTANT: D3DXSH_MAXORDER 6
+
+FUNCTION: FLOAT* D3DXSHEvalDirection
+ ( FLOAT* Out, UINT Order, D3DXVECTOR3 *pDir ) ;
+
+FUNCTION: FLOAT* D3DXSHRotate
+ ( FLOAT* Out, UINT Order, D3DXMATRIX *pMatrix, FLOAT* In ) ;
+
+FUNCTION: FLOAT* D3DXSHRotateZ
+ ( FLOAT* Out, UINT Order, FLOAT Angle, FLOAT* In ) ;
+
+FUNCTION: FLOAT* D3DXSHAdd
+ ( FLOAT* Out, UINT Order, FLOAT* A, FLOAT* B ) ;
+
+FUNCTION: FLOAT* D3DXSHScale
+ ( FLOAT* Out, UINT Order, FLOAT* In, FLOAT Scale ) ;
+
+FUNCTION: FLOAT WINAPI ( UINT Order, FLOAT* A, FLOAT* B ) ;
+
+FUNCTION: FLOAT* D3DXSHMultiply2 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ;
+FUNCTION: FLOAT* D3DXSHMultiply3 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ;
+FUNCTION: FLOAT* D3DXSHMultiply4 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ;
+FUNCTION: FLOAT* D3DXSHMultiply5 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ;
+FUNCTION: FLOAT* D3DXSHMultiply6 ( FLOAT* Out, FLOAT* F, FLOAT* G ) ;
+
+FUNCTION: HRESULT D3DXSHEvalDirectionalLight
+ ( UINT Order, D3DXVECTOR3* pDir,
+ FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
+ FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ;
+
+FUNCTION: HRESULT D3DXSHEvalSphericalLight
+ ( UINT Order, D3DXVECTOR3* pPos, FLOAT Radius,
+ FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
+ FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ;
+
+FUNCTION: HRESULT D3DXSHEvalConeLight
+ ( UINT Order, D3DXVECTOR3* pDir, FLOAT Radius,
+ FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
+ FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ;
+
+FUNCTION: HRESULT D3DXSHEvalHemisphereLight
+ ( UINT Order, D3DXVECTOR3* pDir, D3DXCOLOR Top, D3DXCOLOR Bottom,
+ FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ;
+
+FUNCTION: HRESULT D3DXSHProjectCubeMap
+ ( UINT uOrder, LPDIRECT3DCUBETEXTURE9 pCubeMap,
+ FLOAT* ROut, FLOAT* GOut, FLOAT* BOut ) ;
+
--- /dev/null
+DirectX 9 bindings. Corresponds to d3dx9math.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax alien.c-types windows.directx.d3d9types math
+classes.struct windows.types windows.com.syntax windows.com
+windows.directx.d3d9 windows.directx.d3dx9core windows.directx.d3dx9math
+windows.directx.d3dx9xof ;
+IN: windows.directx.d3dx9mesh
+
+LIBRARY: d3dx9
+
+TYPEDEF: int D3DXPATCHMESHTYPE
+CONSTANT: D3DXPATCHMESH_RECT 1
+CONSTANT: D3DXPATCHMESH_TRI 2
+CONSTANT: D3DXPATCHMESH_NPATCH 3
+CONSTANT: D3DXPATCHMESH_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DXMESH
+CONSTANT: D3DXMESH_32BIT HEX: 001
+CONSTANT: D3DXMESH_DONOTCLIP HEX: 002
+CONSTANT: D3DXMESH_POINTS HEX: 004
+CONSTANT: D3DXMESH_RTPATCHES HEX: 008
+CONSTANT: D3DXMESH_NPATCHES HEX: 4000
+CONSTANT: D3DXMESH_VB_SYSTEMMEM HEX: 010
+CONSTANT: D3DXMESH_VB_MANAGED HEX: 020
+CONSTANT: D3DXMESH_VB_WRITEONLY HEX: 040
+CONSTANT: D3DXMESH_VB_DYNAMIC HEX: 080
+CONSTANT: D3DXMESH_VB_SOFTWAREPROCESSING HEX: 8000
+CONSTANT: D3DXMESH_IB_SYSTEMMEM HEX: 100
+CONSTANT: D3DXMESH_IB_MANAGED HEX: 200
+CONSTANT: D3DXMESH_IB_WRITEONLY HEX: 400
+CONSTANT: D3DXMESH_IB_DYNAMIC HEX: 800
+CONSTANT: D3DXMESH_IB_SOFTWAREPROCESSING HEX: 10000
+CONSTANT: D3DXMESH_VB_SHARE HEX: 1000
+CONSTANT: D3DXMESH_USEHWONLY HEX: 2000
+CONSTANT: D3DXMESH_SYSTEMMEM HEX: 110
+CONSTANT: D3DXMESH_MANAGED HEX: 220
+CONSTANT: D3DXMESH_WRITEONLY HEX: 440
+CONSTANT: D3DXMESH_DYNAMIC HEX: 880
+CONSTANT: D3DXMESH_SOFTWAREPROCESSING HEX: 18000
+
+TYPEDEF: int D3DXPATCHMESH
+CONSTANT: D3DXPATCHMESH_DEFAULT 0
+
+TYPEDEF: int D3DXMESHSIMP
+CONSTANT: D3DXMESHSIMP_VERTEX 1
+CONSTANT: D3DXMESHSIMP_FACE 2
+
+TYPEDEF: int D3DXCLEANTYPE
+CONSTANT: D3DXCLEAN_BACKFACING 1
+CONSTANT: D3DXCLEAN_BOWTIES 2
+CONSTANT: D3DXCLEAN_SKINNING 1
+CONSTANT: D3DXCLEAN_OPTIMIZATION 1
+CONSTANT: D3DXCLEAN_SIMPLIFICATION 3
+
+: MAX_FVF_DECL_SIZE ( -- n ) MAXD3DDECLLENGTH 1 + ; inline
+
+TYPEDEF: int D3DXTANGENT
+CONSTANT: D3DXTANGENT_WRAP_U HEX: 01
+CONSTANT: D3DXTANGENT_WRAP_V HEX: 02
+CONSTANT: D3DXTANGENT_WRAP_UV HEX: 03
+CONSTANT: D3DXTANGENT_DONT_NORMALIZE_PARTIALS HEX: 04
+CONSTANT: D3DXTANGENT_DONT_ORTHOGONALIZE HEX: 08
+CONSTANT: D3DXTANGENT_ORTHOGONALIZE_FROM_V HEX: 010
+CONSTANT: D3DXTANGENT_ORTHOGONALIZE_FROM_U HEX: 020
+CONSTANT: D3DXTANGENT_WEIGHT_BY_AREA HEX: 040
+CONSTANT: D3DXTANGENT_WEIGHT_EQUAL HEX: 080
+CONSTANT: D3DXTANGENT_WIND_CW HEX: 0100
+CONSTANT: D3DXTANGENT_CALCULATE_NORMALS HEX: 0200
+CONSTANT: D3DXTANGENT_GENERATE_IN_PLACE HEX: 0400
+
+TYPEDEF: int D3DXIMT
+CONSTANT: D3DXIMT_WRAP_U HEX: 01
+CONSTANT: D3DXIMT_WRAP_V HEX: 02
+CONSTANT: D3DXIMT_WRAP_UV HEX: 03
+
+TYPEDEF: int D3DXUVATLAS
+CONSTANT: D3DXUVATLAS_DEFAULT HEX: 00
+CONSTANT: D3DXUVATLAS_GEODESIC_FAST HEX: 01
+CONSTANT: D3DXUVATLAS_GEODESIC_QUALITY HEX: 02
+
+C-TYPE: ID3DXBaseMesh
+TYPEDEF: ID3DXBaseMesh* LPD3DXBASEMESH
+C-TYPE: ID3DXMesh
+TYPEDEF: ID3DXMesh* LPD3DXMESH
+C-TYPE: ID3DXPMesh
+TYPEDEF: ID3DXPMesh* LPD3DXPMESH
+C-TYPE: ID3DXSPMesh
+TYPEDEF: ID3DXSPMesh* LPD3DXSPMESH
+C-TYPE: ID3DXSkinInfo
+TYPEDEF: ID3DXSkinInfo* LPD3DXSKININFO
+C-TYPE: ID3DXPatchMesh
+TYPEDEF: ID3DXPatchMesh* LPD3DXPATCHMESH
+C-TYPE: ID3DXTextureGutterHelper
+TYPEDEF: ID3DXTextureGutterHelper* LPD3DXTEXTUREGUTTERHELPER
+C-TYPE: ID3DXPRTBuffer
+TYPEDEF: ID3DXPRTBuffer* LPD3DXPRTBUFFER
+
+STRUCT: D3DXATTRIBUTERANGE
+ { AttribId DWORD }
+ { FaceStart DWORD }
+ { FaceCount DWORD }
+ { VertexStart DWORD }
+ { VertexCount DWORD } ;
+TYPEDEF: D3DXATTRIBUTERANGE* LPD3DXATTRIBUTERANGE
+
+STRUCT: D3DXMATERIAL
+ { MatD3D D3DMATERIAL9 }
+ { pTextureFilename LPSTR } ;
+TYPEDEF: D3DXMATERIAL* LPD3DXMATERIAL
+
+TYPEDEF: int D3DXEFFECTDEFAULTTYPE
+CONSTANT: D3DXEDT_STRING HEX: 1
+CONSTANT: D3DXEDT_FLOATS HEX: 2
+CONSTANT: D3DXEDT_DWORD HEX: 3
+CONSTANT: D3DXEDT_FORCEDWORD HEX: 7fffffff
+
+STRUCT: D3DXEFFECTDEFAULT
+ { pParamName LPSTR }
+ { Type D3DXEFFECTDEFAULTTYPE }
+ { NumBytes DWORD }
+ { pValue LPVOID } ;
+TYPEDEF: D3DXEFFECTDEFAULT* LPD3DXEFFECTDEFAULT
+
+STRUCT: D3DXEFFECTINSTANCE
+ { pEffectFilename LPSTR }
+ { NumDefaults DWORD }
+ { pDefaults LPD3DXEFFECTDEFAULT } ;
+TYPEDEF: D3DXEFFECTINSTANCE* LPD3DXEFFECTINSTANCE
+
+STRUCT: D3DXATTRIBUTEWEIGHTS
+ { Position FLOAT }
+ { Boundary FLOAT }
+ { Normal FLOAT }
+ { Diffuse FLOAT }
+ { Specular FLOAT }
+ { Texcoord FLOAT[8] }
+ { Tangent FLOAT }
+ { Binormal FLOAT } ;
+TYPEDEF: D3DXATTRIBUTEWEIGHTS* LPD3DXATTRIBUTEWEIGHTS
+
+CONSTANT: D3DXWELDEPSILONS_WELDALL HEX: 1
+CONSTANT: D3DXWELDEPSILONS_WELDPARTIALMATCHES HEX: 2
+CONSTANT: D3DXWELDEPSILONS_DONOTREMOVEVERTICES HEX: 4
+CONSTANT: D3DXWELDEPSILONS_DONOTSPLIT HEX: 8
+
+STRUCT: D3DXWELDEPSILONS
+ { Position FLOAT }
+ { BlendWeights FLOAT }
+ { Normal FLOAT }
+ { PSize FLOAT }
+ { Specular FLOAT }
+ { Diffuse FLOAT }
+ { Texcoord FLOAT[8] }
+ { Tangent FLOAT }
+ { Binormal FLOAT }
+ { TessFactor FLOAT } ;
+TYPEDEF: D3DXWELDEPSILONS* LPD3DXWELDEPSILONS
+
+COM-INTERFACE: ID3DXBaseMesh IUnknown {7ED943DD-52E8-40b5-A8D8-76685C406330}
+ HRESULT DrawSubset ( DWORD AttribId )
+ DWORD GetNumFaces ( )
+ DWORD GetNumVertices ( )
+ DWORD GetFVF ( )
+ HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
+ DWORD GetNumBytesPerVertex ( )
+ DWORD GetOptions ( )
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT CloneMeshFVF ( DWORD Options, DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH* ppCloneMesh )
+ HRESULT CloneMesh ( DWORD Options, D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH* ppCloneMesh )
+ HRESULT GetVertexBuffer ( LPDIRECT3DVERTEXBUFFER9* ppVB )
+ HRESULT GetIndexBuffer ( LPDIRECT3DINDEXBUFFER9* ppIB )
+ HRESULT LockVertexBuffer ( DWORD Flags, LPVOID* ppData )
+ HRESULT UnlockVertexBuffer ( )
+ HRESULT LockIndexBuffer ( DWORD Flags, LPVOID* ppData )
+ HRESULT UnlockIndexBuffer ( )
+ HRESULT GetAttributeTable ( D3DXATTRIBUTERANGE* pAttribTable, DWORD* pAttribTableSize )
+ HRESULT ConvertPointRepsToAdjacency ( DWORD* pPRep, DWORD* pAdjacency )
+ HRESULT ConvertAdjacencyToPointReps ( DWORD* pAdjacency, DWORD* pPRep )
+ HRESULT GenerateAdjacency ( FLOAT Epsilon, DWORD* pAdjacency )
+ HRESULT UpdateSemantics ( D3DVERTEXELEMENT9* Declaration ) ;
+
+C-TYPE: IStream
+
+COM-INTERFACE: ID3DXMesh ID3DXBaseMesh {4020E5C2-1403-4929-883F-E2E849FAC195}
+ HRESULT LockAttributeBuffer ( DWORD Flags, DWORD** ppData )
+ HRESULT UnlockAttributeBuffer ( )
+ HRESULT Optimize ( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
+ DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap,
+ LPD3DXMESH* ppOptMesh )
+ HRESULT OptimizeInplace ( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
+ DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap )
+ HRESULT SetAttributeTable ( D3DXATTRIBUTERANGE* pAttribTable, DWORD cAttribTableSize ) ;
+
+COM-INTERFACE: ID3DXPMesh ID3DXBaseMesh {8875769A-D579-4088-AAEB-534D1AD84E96}
+ HRESULT ClonePMeshFVF ( DWORD Options,
+ DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPMESH* ppCloneMesh )
+ HRESULT ClonePMesh ( DWORD Options,
+ D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPMESH* ppCloneMesh )
+ HRESULT SetNumFaces ( DWORD Faces )
+ HRESULT SetNumVertices ( DWORD Vertices )
+ DWORD GetMaxFaces ( )
+ DWORD GetMinFaces ( )
+ DWORD GetMaxVertices ( )
+ DWORD GetMinVertices ( )
+ HRESULT Save ( IStream* pStream, D3DXMATERIAL* pMaterials, D3DXEFFECTINSTANCE* pEffectInstances, DWORD NumMaterials )
+ HRESULT Optimize ( DWORD Flags, DWORD* pAdjacencyOut,
+ DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap,
+ LPD3DXMESH* ppOptMesh )
+ HRESULT OptimizeBaseLOD ( DWORD Flags, DWORD* pFaceRemap )
+ HRESULT TrimByFaces ( DWORD NewFacesMin, DWORD NewFacesMax, DWORD* rgiFaceRemap, DWORD* rgiVertRemap )
+ HRESULT TrimByVertices ( DWORD NewVerticesMin, DWORD NewVerticesMax, DWORD* rgiFaceRemap, DWORD* rgiVertRemap )
+ HRESULT GetAdjacency ( DWORD* pAdjacency )
+ HRESULT GenerateVertexHistory ( DWORD* pVertexHistory ) ;
+
+COM-INTERFACE: ID3DXSPMesh IUnknown {667EA4C7-F1CD-4386-B523-7C0290B83CC5}
+ DWORD GetNumFaces ( )
+ DWORD GetNumVertices ( )
+ DWORD GetFVF ( )
+ HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
+ DWORD GetOptions ( )
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT CloneMeshFVF ( DWORD Options,
+ DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pAdjacencyOut, DWORD* pVertexRemapOut, LPD3DXMESH* ppCloneMesh )
+ HRESULT CloneMesh ( DWORD Options,
+ D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pAdjacencyOut, DWORD* pVertexRemapOut, LPD3DXMESH* ppCloneMesh )
+ HRESULT ClonePMeshFVF ( DWORD Options,
+ DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pVertexRemapOut, FLOAT* pErrorsByFace, LPD3DXPMESH* ppCloneMesh )
+ HRESULT ClonePMesh ( DWORD Options,
+ D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pVertexRemapOut, FLOAT* pErrorsbyFace, LPD3DXPMESH* ppCloneMesh )
+ HRESULT ReduceFaces ( DWORD Faces )
+ HRESULT ReduceVertices ( DWORD Vertices )
+ DWORD GetMaxFaces ( )
+ DWORD GetMaxVertices ( )
+ HRESULT GetVertexAttributeWeights ( LPD3DXATTRIBUTEWEIGHTS pVertexAttributeWeights )
+ HRESULT GetVertexWeights ( FLOAT* pVertexWeights ) ;
+
+CONSTANT: D3DXMESHOPT_COMPACT HEX: 01000000
+CONSTANT: D3DXMESHOPT_ATTRSORT HEX: 02000000
+CONSTANT: D3DXMESHOPT_VERTEXCACHE HEX: 04000000
+CONSTANT: D3DXMESHOPT_STRIPREORDER HEX: 08000000
+CONSTANT: D3DXMESHOPT_IGNOREVERTS HEX: 10000000
+CONSTANT: D3DXMESHOPT_DONOTSPLIT HEX: 20000000
+CONSTANT: D3DXMESHOPT_DEVICEINDEPENDENT HEX: 00400000
+
+STRUCT: D3DXBONECOMBINATION
+ { AttribId DWORD }
+ { FaceStart DWORD }
+ { FaceCount DWORD }
+ { VertexStart DWORD }
+ { VertexCount DWORD }
+ { BoneId DWORD* } ;
+TYPEDEF: D3DXBONECOMBINATION* LPD3DXBONECOMBINATION
+
+STRUCT: D3DXPATCHINFO
+ { PatchType D3DXPATCHMESHTYPE }
+ { Degree D3DDEGREETYPE }
+ { Basis D3DBASISTYPE } ;
+TYPEDEF: D3DXPATCHINFO* LPD3DXPATCHINFO
+
+COM-INTERFACE: ID3DXPatchMesh IUnknown {3CE6CC22-DBF2-44f4-894D-F9C34A337139}
+ DWORD GetNumPatches ( )
+ DWORD GetNumVertices ( )
+ HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
+ DWORD GetControlVerticesPerPatch ( )
+ DWORD GetOptions ( )
+ HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
+ HRESULT GetPatchInfo ( LPD3DXPATCHINFO PatchInfo )
+ HRESULT GetVertexBuffer ( LPDIRECT3DVERTEXBUFFER9* ppVB )
+ HRESULT GetIndexBuffer ( LPDIRECT3DINDEXBUFFER9* ppIB )
+ HRESULT LockVertexBuffer ( DWORD flags, LPVOID* ppData )
+ HRESULT UnlockVertexBuffer ( )
+ HRESULT LockIndexBuffer ( DWORD flags, LPVOID* ppData )
+ HRESULT UnlockIndexBuffer ( )
+ HRESULT LockAttributeBuffer ( DWORD flags, DWORD** ppData )
+ HRESULT UnlockAttributeBuffer ( )
+ HRESULT GetTessSize ( FLOAT fTessLevel, DWORD Adaptive, DWORD* NumTriangles, DWORD* NumVertices )
+ HRESULT GenerateAdjacency ( FLOAT Tolerance )
+ HRESULT CloneMesh ( DWORD Options, D3DVERTEXELEMENT9* pDecl, LPD3DXPATCHMESH* pMesh )
+ HRESULT Optimize ( DWORD flags )
+ HRESULT SetDisplaceParam (
+ LPDIRECT3DBASETEXTURE9 Texture,
+ D3DTEXTUREFILTERTYPE MinFilter,
+ D3DTEXTUREFILTERTYPE MagFilter,
+ D3DTEXTUREFILTERTYPE MipFilter,
+ D3DTEXTUREADDRESS Wrap,
+ DWORD dwLODBias )
+ HRESULT GetDisplaceParam (
+ LPDIRECT3DBASETEXTURE9* Texture,
+ D3DTEXTUREFILTERTYPE* MinFilter,
+ D3DTEXTUREFILTERTYPE* MagFilter,
+ D3DTEXTUREFILTERTYPE* MipFilter,
+ D3DTEXTUREADDRESS* Wrap,
+ DWORD* dwLODBias )
+ HRESULT Tessellate ( FLOAT fTessLevel, LPD3DXMESH pMesh )
+ HRESULT TessellateAdaptive (
+ D3DXVECTOR4* pTrans,
+ DWORD dwMaxTessLevel,
+ DWORD dwMinTessLevel,
+ LPD3DXMESH pMesh ) ;
+
+COM-INTERFACE: ID3DXSkinInfo IUnknown {11EAA540-F9A6-4d49-AE6A-E19221F70CC4}
+ HRESULT SetBoneInfluence ( DWORD bone, DWORD numInfluences, DWORD* vertices, FLOAT* weights )
+ HRESULT SetBoneVertexInfluence ( DWORD boneNum, DWORD influenceNum, FLOAT weight )
+ DWORD GetNumBoneInfluences ( DWORD bone )
+ HRESULT GetBoneInfluence ( DWORD bone, DWORD* vertices, FLOAT* weights )
+ HRESULT GetBoneVertexInfluence ( DWORD boneNum, DWORD influenceNum, FLOAT* pWeight, DWORD* pVertexNum )
+ HRESULT GetMaxVertexInfluences ( DWORD* maxVertexInfluences )
+ DWORD GetNumBones ( )
+ HRESULT FindBoneVertexInfluenceIndex ( DWORD boneNum, DWORD vertexNum, DWORD* pInfluenceIndex )
+ HRESULT GetMaxFaceInfluences ( LPDIRECT3DINDEXBUFFER9 pIB, DWORD NumFaces, DWORD* maxFaceInfluences )
+ HRESULT SetMinBoneInfluence ( FLOAT MinInfl )
+ FLOAT GetMinBoneInfluence ( )
+ HRESULT SetBoneName ( DWORD Bone, LPCSTR pName )
+ LPCSTR GetBoneName ( DWORD Bone )
+ HRESULT SetBoneOffsetMatrix ( DWORD Bone, D3DXMATRIX* pBoneTransform )
+ LPD3DXMATRIX GetBoneOffsetMatrix ( DWORD Bone )
+ HRESULT Clone ( LPD3DXSKININFO* ppSkinInfo )
+ HRESULT Remap ( DWORD NumVertices, DWORD* pVertexRemap )
+ HRESULT SetFVF ( DWORD FVF )
+ HRESULT SetDeclaration ( D3DVERTEXELEMENT9* pDeclaration )
+ DWORD GetFVF ( )
+ HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
+ HRESULT UpdateSkinnedMesh (
+ D3DXMATRIX* pBoneTransforms,
+ D3DXMATRIX* pBoneInvTransposeTransforms,
+ LPCVOID pVerticesSrc,
+ PVOID pVerticesDst )
+ HRESULT ConvertToBlendedMesh (
+ LPD3DXMESH pMesh,
+ DWORD Options,
+ DWORD* pAdjacencyIn,
+ LPDWORD pAdjacencyOut,
+ DWORD* pFaceRemap,
+ LPD3DXBUFFER* ppVertexRemap,
+ DWORD* pMaxFaceInfl,
+ DWORD* pNumBoneCombinations,
+ LPD3DXBUFFER* ppBoneCombinationTable,
+ LPD3DXMESH* ppMesh )
+ HRESULT ConvertToIndexedBlendedMesh (
+ LPD3DXMESH pMesh,
+ DWORD Options,
+ DWORD paletteSize,
+ DWORD* pAdjacencyIn,
+ LPDWORD pAdjacencyOut,
+ DWORD* pFaceRemap,
+ LPD3DXBUFFER* ppVertexRemap,
+ DWORD* pMaxVertexInfl,
+ DWORD* pNumBoneCombinations,
+ LPD3DXBUFFER* ppBoneCombinationTable,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateMesh (
+ DWORD NumFaces,
+ DWORD NumVertices,
+ DWORD Options,
+ D3DVERTEXELEMENT9* pDeclaration,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateMeshFVF (
+ DWORD NumFaces,
+ DWORD NumVertices,
+ DWORD Options,
+ DWORD FVF,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateSPMesh (
+ LPD3DXMESH pMesh,
+ DWORD* pAdjacency,
+ D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
+ FLOAT* pVertexWeights,
+ LPD3DXSPMESH* ppSMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXCleanMesh (
+ D3DXCLEANTYPE CleanType,
+ LPD3DXMESH pMeshIn,
+ DWORD* pAdjacencyIn,
+ LPD3DXMESH* ppMeshOut,
+ DWORD* pAdjacencyOut,
+ LPD3DXBUFFER* ppErrorsAndWarnings ) ;
+
+FUNCTION: HRESULT
+ D3DXValidMesh (
+ LPD3DXMESH pMeshIn,
+ DWORD* pAdjacency,
+ LPD3DXBUFFER* ppErrorsAndWarnings ) ;
+
+FUNCTION: HRESULT
+ D3DXGeneratePMesh (
+ LPD3DXMESH pMesh,
+ DWORD* pAdjacency,
+ D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
+ FLOAT* pVertexWeights,
+ DWORD MinValue,
+ DWORD Options,
+ LPD3DXPMESH* ppPMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXSimplifyMesh (
+ LPD3DXMESH pMesh,
+ DWORD* pAdjacency,
+ D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
+ FLOAT* pVertexWeights,
+ DWORD MinValue,
+ DWORD Options,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXComputeBoundingSphere (
+ D3DXVECTOR3* pFirstPosition,
+ DWORD NumVertices,
+ DWORD dwStride,
+ D3DXVECTOR3* pCenter,
+ FLOAT* pRadius ) ;
+
+FUNCTION: HRESULT
+ D3DXComputeBoundingBox (
+ D3DXVECTOR3* pFirstPosition,
+ DWORD NumVertices,
+ DWORD dwStride,
+ D3DXVECTOR3* pMin,
+ D3DXVECTOR3* pMax ) ;
+
+FUNCTION: HRESULT
+ D3DXComputeNormals (
+ LPD3DXBASEMESH pMesh,
+ DWORD* pAdjacency ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateBuffer (
+ DWORD NumBytes,
+ LPD3DXBUFFER* ppBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadMeshFromXA (
+ LPCSTR pFilename,
+ DWORD Options,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXBUFFER* ppAdjacency,
+ LPD3DXBUFFER* ppMaterials,
+ LPD3DXBUFFER* ppEffectInstances,
+ DWORD* pNumMaterials,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadMeshFromXW (
+ LPCWSTR pFilename,
+ DWORD Options,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXBUFFER* ppAdjacency,
+ LPD3DXBUFFER* ppMaterials,
+ LPD3DXBUFFER* ppEffectInstances,
+ DWORD* pNumMaterials,
+ LPD3DXMESH* ppMesh ) ;
+
+ALIAS: D3DXLoadMeshFromX D3DXLoadMeshFromXW
+
+FUNCTION: HRESULT
+ D3DXLoadMeshFromXInMemory (
+ LPCVOID Memory,
+ DWORD SizeOfMemory,
+ DWORD Options,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXBUFFER* ppAdjacency,
+ LPD3DXBUFFER* ppMaterials,
+ LPD3DXBUFFER* ppEffectInstances,
+ DWORD* pNumMaterials,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadMeshFromXResource (
+ HMODULE Module,
+ LPCSTR Name,
+ LPCSTR Type,
+ DWORD Options,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXBUFFER* ppAdjacency,
+ LPD3DXBUFFER* ppMaterials,
+ LPD3DXBUFFER* ppEffectInstances,
+ DWORD* pNumMaterials,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXSaveMeshToXA (
+ LPCSTR pFilename,
+ LPD3DXMESH pMesh,
+ DWORD* pAdjacency,
+ D3DXMATERIAL* pMaterials,
+ D3DXEFFECTINSTANCE* pEffectInstances,
+ DWORD NumMaterials,
+ DWORD Format ) ;
+
+FUNCTION: HRESULT
+ D3DXSaveMeshToXW (
+ LPCWSTR pFilename,
+ LPD3DXMESH pMesh,
+ DWORD* pAdjacency,
+ D3DXMATERIAL* pMaterials,
+ D3DXEFFECTINSTANCE* pEffectInstances,
+ DWORD NumMaterials,
+ DWORD Format ) ;
+
+ALIAS: D3DXSaveMeshToX D3DXSaveMeshToXW
+
+FUNCTION: HRESULT
+ D3DXCreatePMeshFromStream (
+ IStream* pStream,
+ DWORD Options,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXBUFFER* ppMaterials,
+ LPD3DXBUFFER* ppEffectInstances,
+ DWORD* pNumMaterials,
+ LPD3DXPMESH* ppPMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateSkinInfo (
+ DWORD NumVertices,
+ D3DVERTEXELEMENT9* pDeclaration,
+ DWORD NumBones,
+ LPD3DXSKININFO* ppSkinInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateSkinInfoFVF (
+ DWORD NumVertices,
+ DWORD FVF,
+ DWORD NumBones,
+ LPD3DXSKININFO* ppSkinInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadMeshFromXof (
+ LPD3DXFILEDATA pxofMesh,
+ DWORD Options,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXBUFFER* ppAdjacency,
+ LPD3DXBUFFER* ppMaterials,
+ LPD3DXBUFFER* ppEffectInstances,
+ DWORD* pNumMaterials,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadSkinMeshFromXof (
+ LPD3DXFILEDATA pxofMesh,
+ DWORD Options,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXBUFFER* ppAdjacency,
+ LPD3DXBUFFER* ppMaterials,
+ LPD3DXBUFFER* ppEffectInstances,
+ DWORD* pMatOut,
+ LPD3DXSKININFO* ppSkinInfo,
+ LPD3DXMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateSkinInfoFromBlendedMesh (
+ LPD3DXBASEMESH pMesh,
+ DWORD NumBones,
+ D3DXBONECOMBINATION* pBoneCombinationTable,
+ LPD3DXSKININFO* ppSkinInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXTessellateNPatches (
+ LPD3DXMESH pMeshIn,
+ DWORD* pAdjacencyIn,
+ FLOAT NumSegs,
+ BOOL QuadraticInterpNormals,
+ LPD3DXMESH* ppMeshOut,
+ LPD3DXBUFFER* ppAdjacencyOut ) ;
+
+FUNCTION: HRESULT
+ D3DXGenerateOutputDecl (
+ D3DVERTEXELEMENT9* pOutput,
+ D3DVERTEXELEMENT9* pInput ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadPatchMeshFromXof (
+ LPD3DXFILEDATA pXofObjMesh,
+ DWORD Options,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXBUFFER* ppMaterials,
+ LPD3DXBUFFER* ppEffectInstances,
+ PDWORD pNumMaterials,
+ LPD3DXPATCHMESH* ppMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXRectPatchSize (
+ FLOAT* pfNumSegs,
+ DWORD* pdwTriangles,
+ DWORD* pdwVertices ) ;
+
+FUNCTION: HRESULT
+ D3DXTriPatchSize (
+ FLOAT* pfNumSegs,
+ DWORD* pdwTriangles,
+ DWORD* pdwVertices ) ;
+
+FUNCTION: HRESULT
+ D3DXTessellateRectPatch (
+ LPDIRECT3DVERTEXBUFFER9 pVB,
+ FLOAT* pNumSegs,
+ D3DVERTEXELEMENT9* pdwInDecl,
+ D3DRECTPATCH_INFO* pRectPatchInfo,
+ LPD3DXMESH pMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXTessellateTriPatch (
+ LPDIRECT3DVERTEXBUFFER9 pVB,
+ FLOAT* pNumSegs,
+ D3DVERTEXELEMENT9* pInDecl,
+ D3DTRIPATCH_INFO* pTriPatchInfo,
+ LPD3DXMESH pMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateNPatchMesh (
+ LPD3DXMESH pMeshSysMem,
+ LPD3DXPATCHMESH* pPatchMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXCreatePatchMesh (
+ D3DXPATCHINFO* pInfo,
+ DWORD dwNumPatches,
+ DWORD dwNumVertices,
+ DWORD dwOptions,
+ D3DVERTEXELEMENT9* pDecl,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXPATCHMESH* pPatchMesh ) ;
+
+FUNCTION: HRESULT
+ D3DXValidPatchMesh (
+ LPD3DXPATCHMESH pMesh,
+ DWORD* dwcDegenerateVertices,
+ DWORD* dwcDegeneratePatches,
+ LPD3DXBUFFER* ppErrorsAndWarnings ) ;
+
+FUNCTION: UINT
+ D3DXGetFVFVertexSize ( DWORD FVF ) ;
+
+FUNCTION: UINT
+ D3DXGetDeclVertexSize ( D3DVERTEXELEMENT9* pDecl, DWORD Stream ) ;
+
+FUNCTION: UINT
+ D3DXGetDeclLength ( D3DVERTEXELEMENT9* pDecl ) ;
+
+FUNCTION: HRESULT
+ D3DXDeclaratorFromFVF (
+ DWORD FVF,
+ D3DVERTEXELEMENT9* pDeclarator ) ;
+
+FUNCTION: HRESULT
+ D3DXFVFFromDeclarator (
+ D3DVERTEXELEMENT9* pDeclarator,
+ DWORD* pFVF ) ;
+
+FUNCTION: HRESULT
+ D3DXWeldVertices (
+ LPD3DXMESH pMesh,
+ DWORD Flags,
+ D3DXWELDEPSILONS* pEpsilons,
+ DWORD* pAdjacencyIn,
+ DWORD* pAdjacencyOut,
+ DWORD* pFaceRemap,
+ LPD3DXBUFFER* ppVertexRemap ) ;
+
+STRUCT: D3DXINTERSECTINFO
+ { FaceIndex DWORD }
+ { U FLOAT }
+ { V FLOAT }
+ { Dist FLOAT } ;
+TYPEDEF: D3DXINTERSECTINFO* LPD3DXINTERSECTINFO
+
+FUNCTION: HRESULT
+ D3DXIntersect (
+ LPD3DXBASEMESH pMesh,
+ D3DXVECTOR3* pRayPos,
+ D3DXVECTOR3* pRayDir,
+ BOOL* pHit,
+ DWORD* pFaceIndex,
+ FLOAT* pU,
+ FLOAT* pV,
+ FLOAT* pDist,
+ LPD3DXBUFFER* ppAllHits,
+ DWORD* pCountOfHits ) ;
+
+FUNCTION: HRESULT
+ D3DXIntersectSubset (
+ LPD3DXBASEMESH pMesh,
+ DWORD AttribId,
+ D3DXVECTOR3* pRayPos,
+ D3DXVECTOR3* pRayDir,
+ BOOL* pHit,
+ DWORD* pFaceIndex,
+ FLOAT* pU,
+ FLOAT* pV,
+ FLOAT* pDist,
+ LPD3DXBUFFER* ppAllHits,
+ DWORD* pCountOfHits ) ;
+
+FUNCTION: HRESULT D3DXSplitMesh (
+ LPD3DXMESH pMeshIn,
+ DWORD* pAdjacencyIn,
+ DWORD MaxSize,
+ DWORD Options,
+ DWORD* pMeshesOut,
+ LPD3DXBUFFER* ppMeshArrayOut,
+ LPD3DXBUFFER* ppAdjacencyArrayOut,
+ LPD3DXBUFFER* ppFaceRemapArrayOut,
+ LPD3DXBUFFER* ppVertRemapArrayOut ) ;
+
+FUNCTION: BOOL D3DXIntersectTri (
+ D3DXVECTOR3* p0,
+ D3DXVECTOR3* p1,
+ D3DXVECTOR3* p2,
+ D3DXVECTOR3* pRayPos,
+ D3DXVECTOR3* pRayDir,
+ FLOAT* pU,
+ FLOAT* pV,
+ FLOAT* pDist ) ;
+
+FUNCTION: BOOL
+ D3DXSphereBoundProbe (
+ D3DXVECTOR3* pCenter,
+ FLOAT Radius,
+ D3DXVECTOR3* pRayPosition,
+ D3DXVECTOR3* pRayDirection ) ;
+
+FUNCTION: BOOL
+ D3DXBoxBoundProbe (
+ D3DXVECTOR3* pMin,
+ D3DXVECTOR3* pMax,
+ D3DXVECTOR3* pRayPosition,
+ D3DXVECTOR3* pRayDirection ) ;
+
+FUNCTION: HRESULT D3DXComputeTangentFrame (
+ ID3DXMesh* pMesh,
+ DWORD dwOptions ) ;
+
+FUNCTION: HRESULT D3DXComputeTangentFrameEx (
+ ID3DXMesh* pMesh,
+ DWORD dwTextureInSemantic,
+ DWORD dwTextureInIndex,
+ DWORD dwUPartialOutSemantic,
+ DWORD dwUPartialOutIndex,
+ DWORD dwVPartialOutSemantic,
+ DWORD dwVPartialOutIndex,
+ DWORD dwNormalOutSemantic,
+ DWORD dwNormalOutIndex,
+ DWORD dwOptions,
+ DWORD* pdwAdjacency,
+ FLOAT fPartialEdgeThreshold,
+ FLOAT fSingularPointThreshold,
+ FLOAT fNormalEdgeThreshold,
+ ID3DXMesh** ppMeshOut,
+ ID3DXBuffer** ppVertexMapping ) ;
+
+FUNCTION: HRESULT D3DXComputeTangent (
+ LPD3DXMESH Mesh,
+ DWORD TexStage,
+ DWORD TangentIndex,
+ DWORD BinormIndex,
+ DWORD Wrap,
+ DWORD* pAdjacency ) ;
+
+C-TYPE: D3DXUVATLASCB
+TYPEDEF: D3DXUVATLASCB* LPD3DXUVATLASCB
+
+FUNCTION: HRESULT D3DXUVAtlasCreate (
+ LPD3DXMESH pMesh,
+ UINT uMaxChartNumber,
+ FLOAT fMaxStretch,
+ UINT uWidth,
+ UINT uHeight,
+ FLOAT fGutter,
+ DWORD dwTextureIndex,
+ DWORD* pdwAdjacency,
+ DWORD* pdwFalseEdgeAdjacency,
+ FLOAT* pfIMTArray,
+ LPD3DXUVATLASCB pStatusCallback,
+ FLOAT fCallbackFrequency,
+ LPVOID pUserContext,
+ DWORD dwOptions,
+ LPD3DXMESH* ppMeshOut,
+ LPD3DXBUFFER* ppFacePartitioning,
+ LPD3DXBUFFER* ppVertexRemapArray,
+ FLOAT* pfMaxStretchOut,
+ UINT* puNumChartsOut ) ;
+
+FUNCTION: HRESULT D3DXUVAtlasPartition (
+ LPD3DXMESH pMesh,
+ UINT uMaxChartNumber,
+ FLOAT fMaxStretch,
+ DWORD dwTextureIndex,
+ DWORD* pdwAdjacency,
+ DWORD* pdwFalseEdgeAdjacency,
+ FLOAT* pfIMTArray,
+ LPD3DXUVATLASCB pStatusCallback,
+ FLOAT fCallbackFrequency,
+ LPVOID pUserContext,
+ DWORD dwOptions,
+ LPD3DXMESH* ppMeshOut,
+ LPD3DXBUFFER* ppFacePartitioning,
+ LPD3DXBUFFER* ppVertexRemapArray,
+ LPD3DXBUFFER* ppPartitionResultAdjacency,
+ FLOAT* pfMaxStretchOut,
+ UINT* puNumChartsOut ) ;
+
+FUNCTION: HRESULT D3DXUVAtlasPack (
+ ID3DXMesh* pMesh,
+ UINT uWidth,
+ UINT uHeight,
+ FLOAT fGutter,
+ DWORD dwTextureIndex,
+ DWORD* pdwPartitionResultAdjacency,
+ LPD3DXUVATLASCB pStatusCallback,
+ FLOAT fCallbackFrequency,
+ LPVOID pUserContext,
+ DWORD dwOptions,
+ LPD3DXBUFFER pFacePartitioning ) ;
+
+TYPEDEF: void* LPD3DXIMTSIGNALCALLBACK
+
+FUNCTION: HRESULT D3DXComputeIMTFromPerVertexSignal (
+ LPD3DXMESH pMesh,
+ FLOAT* pfVertexSignal,
+ UINT uSignalDimension,
+ UINT uSignalStride,
+ DWORD dwOptions,
+ LPD3DXUVATLASCB pStatusCallback,
+ LPVOID pUserContext,
+ LPD3DXBUFFER* ppIMTData ) ;
+
+FUNCTION: HRESULT D3DXComputeIMTFromSignal (
+ LPD3DXMESH pMesh,
+ DWORD dwTextureIndex,
+ UINT uSignalDimension,
+ FLOAT fMaxUVDistance,
+ DWORD dwOptions,
+ LPD3DXIMTSIGNALCALLBACK pSignalCallback,
+ VOID* pUserData,
+ LPD3DXUVATLASCB pStatusCallback,
+ LPVOID pUserContext,
+ LPD3DXBUFFER* ppIMTData ) ;
+
+FUNCTION: HRESULT D3DXComputeIMTFromTexture (
+ LPD3DXMESH pMesh,
+ LPDIRECT3DTEXTURE9 pTexture,
+ DWORD dwTextureIndex,
+ DWORD dwOptions,
+ LPD3DXUVATLASCB pStatusCallback,
+ LPVOID pUserContext,
+ LPD3DXBUFFER* ppIMTData ) ;
+
+FUNCTION: HRESULT D3DXComputeIMTFromPerTexelSignal (
+ LPD3DXMESH pMesh,
+ DWORD dwTextureIndex,
+ FLOAT* pfTexelSignal,
+ UINT uWidth,
+ UINT uHeight,
+ UINT uSignalDimension,
+ UINT uComponents,
+ DWORD dwOptions,
+ LPD3DXUVATLASCB pStatusCallback,
+ LPVOID pUserContext,
+ LPD3DXBUFFER* ppIMTData ) ;
+
+FUNCTION: HRESULT
+ D3DXConvertMeshSubsetToSingleStrip (
+ LPD3DXBASEMESH MeshIn,
+ DWORD AttribId,
+ DWORD IBOptions,
+ LPDIRECT3DINDEXBUFFER9* ppIndexBuffer,
+ DWORD* pNumIndices ) ;
+
+FUNCTION: HRESULT
+ D3DXConvertMeshSubsetToStrips (
+ LPD3DXBASEMESH MeshIn,
+ DWORD AttribId,
+ DWORD IBOptions,
+ LPDIRECT3DINDEXBUFFER9* ppIndexBuffer,
+ DWORD* pNumIndices,
+ LPD3DXBUFFER* ppStripLengths,
+ DWORD* pNumStrips ) ;
+
+FUNCTION: HRESULT
+ D3DXOptimizeFaces (
+ LPCVOID pbIndices,
+ UINT cFaces,
+ UINT cVertices,
+ BOOL b32BitIndices,
+ DWORD* pFaceRemap ) ;
+
+FUNCTION: HRESULT
+ D3DXOptimizeVertices (
+ LPCVOID pbIndices,
+ UINT cFaces,
+ UINT cVertices,
+ BOOL b32BitIndices,
+ DWORD* pVertexRemap ) ;
+
+TYPEDEF: int D3DXSHCOMPRESSQUALITYTYPE
+CONSTANT: D3DXSHCQUAL_FASTLOWQUALITY 1
+CONSTANT: D3DXSHCQUAL_SLOWHIGHQUALITY 2
+CONSTANT: D3DXSHCQUAL_FORCE_DWORD HEX: 7fffffff
+
+TYPEDEF: int D3DXSHGPUSIMOPT
+CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES256 1
+CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES512 0
+CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES1024 2
+CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES2048 3
+CONSTANT: D3DXSHGPUSIMOPT_HIGHQUALITY 4
+CONSTANT: D3DXSHGPUSIMOPT_FORCE_DWORD HEX: 7fffffff
+
+STRUCT: D3DXSHMATERIAL
+ { Diffuse D3DCOLORVALUE }
+ { bMirror BOOL }
+ { bSubSurf BOOL }
+ { RelativeIndexOfRefraction FLOAT }
+ { Absorption D3DCOLORVALUE }
+ { ReducedScattering D3DCOLORVALUE } ;
+
+STRUCT: D3DXSHPRTSPLITMESHVERTDATA
+ { uVertRemap UINT }
+ { uSubCluster UINT }
+ { ucVertStatus UCHAR } ;
+
+STRUCT: D3DXSHPRTSPLITMESHCLUSTERDATA
+ { uVertStart UINT }
+ { uVertLength UINT }
+ { uFaceStart UINT }
+ { uFaceLength UINT }
+ { uClusterStart UINT }
+ { uClusterLength UINT } ;
+
+TYPEDEF: void* LPD3DXSHPRTSIMCB
+
+C-TYPE: ID3DXTextureGutterHelper
+C-TYPE: ID3DXPRTBuffer
+
+COM-INTERFACE: ID3DXPRTBuffer IUnknown {F1827E47-00A8-49cd-908C-9D11955F8728}
+ UINT GetNumSamples ( )
+ UINT GetNumCoeffs ( )
+ UINT GetNumChannels ( )
+ BOOL IsTexture ( )
+ UINT GetWidth ( )
+ UINT GetHeight ( )
+ HRESULT Resize ( UINT NewSize )
+ HRESULT LockBuffer ( UINT Start, UINT NumSamples, FLOAT** ppData )
+ HRESULT UnlockBuffer ( )
+ HRESULT ScaleBuffer ( FLOAT Scale )
+ HRESULT AddBuffer ( LPD3DXPRTBUFFER pBuffer )
+ HRESULT AttachGH ( LPD3DXTEXTUREGUTTERHELPER f )
+ HRESULT ReleaseGH ( )
+ HRESULT EvalGH ( )
+ HRESULT ExtractTexture ( UINT Channel, UINT StartCoefficient,
+ UINT NumCoefficients, LPDIRECT3DTEXTURE9 pTexture )
+ HRESULT ExtractToMesh ( UINT NumCoefficients, D3DDECLUSAGE Usage, UINT UsageIndexStart,
+ LPD3DXMESH pScene ) ;
+
+C-TYPE: ID3DXPRTCompBuffer
+TYPEDEF: ID3DXPRTCompBuffer* LPD3DXPRTCOMPBUFFER;
+
+COM-INTERFACE: ID3DXPRTCompBuffer IUnknown {A758D465-FE8D-45ad-9CF0-D01E56266A07}
+ UINT GetNumSamples ( )
+ UINT GetNumCoeffs ( )
+ UINT GetNumChannels ( )
+ BOOL IsTexture ( )
+ UINT GetWidth ( )
+ UINT GetHeight ( )
+ UINT GetNumClusters ( )
+ UINT GetNumPCA ( )
+ HRESULT NormalizeData ( )
+ HRESULT ExtractBasis ( UINT Cluster, FLOAT* pClusterBasis )
+ HRESULT ExtractClusterIDs ( UINT* pClusterIDs )
+ HRESULT ExtractPCA ( UINT StartPCA, UINT NumExtract, FLOAT* pPCACoefficients )
+ HRESULT ExtractTexture ( UINT StartPCA, UINT NumpPCA,
+ LPDIRECT3DTEXTURE9 pTexture )
+ HRESULT ExtractToMesh ( UINT NumPCA, D3DDECLUSAGE Usage, UINT UsageIndexStart,
+ LPD3DXMESH pScene ) ;
+
+COM-INTERFACE: ID3DXTextureGutterHelper IUnknown {838F01EC-9729-4527-AADB-DF70ADE7FEA9}
+ UINT GetWidth ( )
+ UINT GetHeight ( )
+ HRESULT ApplyGuttersFLOAT ( FLOAT* pDataIn, UINT NumCoeffs, UINT Width, UINT Height )
+ HRESULT ApplyGuttersTex ( LPDIRECT3DTEXTURE9 pTexture )
+ HRESULT ApplyGuttersPRT ( LPD3DXPRTBUFFER pBuffer )
+ HRESULT ResampleTex (
+ LPDIRECT3DTEXTURE9 pTextureIn,
+ LPD3DXMESH pMeshIn,
+ D3DDECLUSAGE Usage,
+ UINT UsageIndex,
+ LPDIRECT3DTEXTURE9 pTextureOut )
+ HRESULT GetFaceMap ( UINT* pFaceData )
+ HRESULT GetBaryMap ( D3DXVECTOR2* pBaryData )
+ HRESULT GetTexelMap ( D3DXVECTOR2* pTexelData )
+ HRESULT GetGutterMap ( BYTE* pGutterData )
+ HRESULT SetFaceMap ( UINT* pFaceData )
+ HRESULT SetBaryMap ( D3DXVECTOR2* pBaryData )
+ HRESULT SetTexelMap ( D3DXVECTOR2* pTexelData )
+ HRESULT SetGutterMap ( BYTE* pGutterData ) ;
+
+C-TYPE: ID3DXPRTEngine
+TYPEDEF: ID3DXPRTEngine* LPD3DXPRTENGINE
+
+COM-INTERFACE: ID3DXPRTEngine IUnknown {683A4278-CD5F-4d24-90AD-C4E1B6855D53}
+ HRESULT SetMeshMaterials ( D3DXSHMATERIAL** ppMaterials, UINT NumMeshes,
+ UINT NumChannels, BOOL bSetAlbedo, FLOAT fLengthScale )
+ HRESULT SetPerVertexAlbedo ( VOID* pDataIn, UINT NumChannels, UINT Stride )
+ HRESULT SetPerTexelAlbedo ( LPDIRECT3DTEXTURE9 pAlbedoTexture,
+ UINT NumChannels,
+ LPD3DXTEXTUREGUTTERHELPER pGH )
+ HRESULT GetVertexAlbedo ( D3DXCOLOR* pVertColors, UINT NumVerts )
+ HRESULT SetPerTexelNormal ( LPDIRECT3DTEXTURE9 pNormalTexture )
+ HRESULT ExtractPerVertexAlbedo ( LPD3DXMESH pMesh,
+ D3DDECLUSAGE Usage,
+ UINT NumChannels )
+ HRESULT ResampleBuffer ( LPD3DXPRTBUFFER pBufferIn, LPD3DXPRTBUFFER pBufferOut )
+ HRESULT GetAdaptedMesh ( LPDIRECT3DDEVICE9 pD3DDevice, UINT* pFaceRemap, UINT* pVertRemap, FLOAT* pfVertWeights, LPD3DXMESH* ppMesh )
+ UINT GetNumVerts ( )
+ UINT GetNumFaces ( )
+ HRESULT SetMinMaxIntersection ( FLOAT fMin, FLOAT fMax )
+ HRESULT RobustMeshRefine ( FLOAT MinEdgeLength, UINT MaxSubdiv )
+ HRESULT SetSamplingInfo ( UINT NumRays,
+ BOOL UseSphere,
+ BOOL UseCosine,
+ BOOL Adaptive,
+ FLOAT AdaptiveThresh )
+ HRESULT ComputeDirectLightingSH ( UINT SHOrder,
+ LPD3DXPRTBUFFER pDataOut )
+ HRESULT ComputeDirectLightingSHAdaptive ( UINT SHOrder,
+ FLOAT AdaptiveThresh,
+ FLOAT MinEdgeLength,
+ UINT MaxSubdiv,
+ LPD3DXPRTBUFFER pDataOut )
+ HRESULT ComputeDirectLightingSHGPU ( LPDIRECT3DDEVICE9 pD3DDevice,
+ UINT Flags,
+ UINT SHOrder,
+ FLOAT ZBias,
+ FLOAT ZAngleBias,
+ LPD3DXPRTBUFFER pDataOut )
+ HRESULT ComputeSS ( LPD3DXPRTBUFFER pDataIn,
+ LPD3DXPRTBUFFER pDataOut, LPD3DXPRTBUFFER pDataTotal )
+ HRESULT ComputeSSAdaptive ( LPD3DXPRTBUFFER pDataIn,
+ FLOAT AdaptiveThresh,
+ FLOAT MinEdgeLength,
+ UINT MaxSubdiv,
+ LPD3DXPRTBUFFER pDataOut, LPD3DXPRTBUFFER pDataTotal )
+ HRESULT ComputeBounce ( LPD3DXPRTBUFFER pDataIn,
+ LPD3DXPRTBUFFER pDataOut,
+ LPD3DXPRTBUFFER pDataTotal )
+ HRESULT ComputeBounceAdaptive ( LPD3DXPRTBUFFER pDataIn,
+ FLOAT AdaptiveThresh,
+ FLOAT MinEdgeLength,
+ UINT MaxSubdiv,
+ LPD3DXPRTBUFFER pDataOut,
+ LPD3DXPRTBUFFER pDataTotal )
+ HRESULT ComputeVolumeSamplesDirectSH ( UINT SHOrderIn,
+ UINT SHOrderOut,
+ UINT NumVolSamples,
+ D3DXVECTOR3* pSampleLocs,
+ LPD3DXPRTBUFFER pDataOut )
+ HRESULT ComputeVolumeSamples ( LPD3DXPRTBUFFER pSurfDataIn,
+ UINT SHOrder,
+ UINT NumVolSamples,
+ D3DXVECTOR3* pSampleLocs,
+ LPD3DXPRTBUFFER pDataOut )
+ HRESULT ComputeSurfSamplesDirectSH ( UINT SHOrder,
+ UINT NumSamples,
+ D3DXVECTOR3* pSampleLocs,
+ D3DXVECTOR3* pSampleNorms,
+ LPD3DXPRTBUFFER pDataOut )
+ HRESULT ComputeSurfSamplesBounce ( LPD3DXPRTBUFFER pSurfDataIn,
+ UINT NumSamples,
+ D3DXVECTOR3* pSampleLocs,
+ D3DXVECTOR3* pSampleNorms,
+ LPD3DXPRTBUFFER pDataOut,
+ LPD3DXPRTBUFFER pDataTotal )
+ HRESULT FreeSSData ( )
+ HRESULT FreeBounceData ( )
+ HRESULT ComputeLDPRTCoeffs ( LPD3DXPRTBUFFER pDataIn,
+ UINT SHOrder,
+ D3DXVECTOR3* pNormOut,
+ LPD3DXPRTBUFFER pDataOut )
+ HRESULT ScaleMeshChunk ( UINT uMeshChunk, FLOAT fScale, LPD3DXPRTBUFFER pDataOut )
+ HRESULT MultiplyAlbedo ( LPD3DXPRTBUFFER pDataOut )
+ HRESULT SetCallBack ( LPD3DXSHPRTSIMCB pCB, FLOAT Frequency, LPVOID lpUserContext )
+ BOOL ShadowRayIntersects ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir )
+ BOOL ClosestRayIntersects ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir,
+ DWORD* pFaceIndex, FLOAT* pU, FLOAT* pV, FLOAT* pDist ) ;
+
+FUNCTION: HRESULT
+ D3DXCreatePRTBuffer (
+ UINT NumSamples,
+ UINT NumCoeffs,
+ UINT NumChannels,
+ LPD3DXPRTBUFFER* ppBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DXCreatePRTBufferTex (
+ UINT Width,
+ UINT Height,
+ UINT NumCoeffs,
+ UINT NumChannels,
+ LPD3DXPRTBUFFER* ppBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadPRTBufferFromFileA (
+ LPCSTR pFilename,
+ LPD3DXPRTBUFFER* ppBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadPRTBufferFromFileW (
+ LPCWSTR pFilename,
+ LPD3DXPRTBUFFER* ppBuffer ) ;
+
+ALIAS: D3DXLoadPRTBufferFromFile D3DXLoadPRTBufferFromFileW
+
+FUNCTION: HRESULT
+ D3DXSavePRTBufferToFileA (
+ LPCSTR pFileName,
+ LPD3DXPRTBUFFER pBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DXSavePRTBufferToFileW (
+ LPCWSTR pFileName,
+ LPD3DXPRTBUFFER pBuffer ) ;
+
+ALIAS: D3DXSavePRTBufferToFile D3DXSavePRTBufferToFileW
+
+C-TYPE: D3DXPRTCOMPBUFFER
+TYPEDEF: D3DXPRTCOMPBUFFER* LPD3DXPRTCOMPBUFFER
+
+FUNCTION: HRESULT
+ D3DXLoadPRTCompBufferFromFileA (
+ LPCSTR pFilename,
+ LPD3DXPRTCOMPBUFFER* ppBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadPRTCompBufferFromFileW (
+ LPCWSTR pFilename,
+ LPD3DXPRTCOMPBUFFER* ppBuffer ) ;
+
+ALIAS: D3DXLoadPRTCompBufferFromFile D3DXLoadPRTCompBufferFromFileW
+
+FUNCTION: HRESULT
+ D3DXSavePRTCompBufferToFileA (
+ LPCSTR pFileName,
+ LPD3DXPRTCOMPBUFFER pBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DXSavePRTCompBufferToFileW (
+ LPCWSTR pFileName,
+ LPD3DXPRTCOMPBUFFER pBuffer ) ;
+
+ALIAS: D3DXSavePRTCompBufferToFile D3DXSavePRTCompBufferToFileW
+
+FUNCTION: HRESULT
+ D3DXCreatePRTCompBuffer (
+ D3DXSHCOMPRESSQUALITYTYPE Quality,
+ UINT NumClusters,
+ UINT NumPCA,
+ LPD3DXSHPRTSIMCB pCB,
+ LPVOID lpUserContext,
+ LPD3DXPRTBUFFER pBufferIn,
+ LPD3DXPRTCOMPBUFFER* ppBufferOut ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextureGutterHelper (
+ UINT Width,
+ UINT Height,
+ LPD3DXMESH pMesh,
+ FLOAT GutterSize,
+ LPD3DXTEXTUREGUTTERHELPER* ppBuffer ) ;
+
+FUNCTION: HRESULT
+ D3DXCreatePRTEngine (
+ LPD3DXMESH pMesh,
+ DWORD* pAdjacency,
+ BOOL ExtractUVs,
+ LPD3DXMESH pBlockerMesh,
+ LPD3DXPRTENGINE* ppEngine ) ;
+
+FUNCTION: HRESULT
+ D3DXConcatenateMeshes (
+ LPD3DXMESH* ppMeshes,
+ UINT NumMeshes,
+ DWORD Options,
+ D3DXMATRIX* pGeomXForms,
+ D3DXMATRIX* pTextureXForms,
+ D3DVERTEXELEMENT9* pDecl,
+ LPDIRECT3DDEVICE9 pD3DDevice,
+ LPD3DXMESH* ppMeshOut ) ;
+
+FUNCTION: HRESULT
+ D3DXSHPRTCompSuperCluster (
+ UINT* pClusterIDs,
+ LPD3DXMESH pScene,
+ UINT MaxNumClusters,
+ UINT NumClusters,
+ UINT* pSuperClusterIDs,
+ UINT* pNumSuperClusters ) ;
+
+FUNCTION: HRESULT
+ D3DXSHPRTCompSplitMeshSC (
+ UINT* pClusterIDs,
+ UINT NumVertices,
+ UINT NumClusters,
+ UINT* pSuperClusterIDs,
+ UINT NumSuperClusters,
+ LPVOID pInputIB,
+ BOOL InputIBIs32Bit,
+ UINT NumFaces,
+ LPD3DXBUFFER* ppIBData,
+ UINT* pIBDataLength,
+ BOOL OutputIBIs32Bit,
+ LPD3DXBUFFER* ppFaceRemap,
+ LPD3DXBUFFER* ppVertData,
+ UINT* pVertDataLength,
+ UINT* pSCClusterList,
+ D3DXSHPRTSPLITMESHCLUSTERDATA* pSCData ) ;
+
--- /dev/null
+DirectX 9 bindings. Corresponds to d3dx9mesh.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct math
+windows.com windows.com.syntax windows.directx.d3d9
+windows.directx.d3dx9core windows.directx.d3dx9math
+windows.types ;
+IN: windows.directx.d3dx9shader
+
+LIBRARY: d3dx9
+
+: D3DXSHADER_DEBUG ( -- n ) 1 0 shift ; inline
+: D3DXSHADER_SKIPVALIDATION ( -- n ) 1 1 shift ; inline
+: D3DXSHADER_SKIPOPTIMIZATION ( -- n ) 1 2 shift ; inline
+: D3DXSHADER_PACKMATRIX_ROWMAJOR ( -- n ) 1 3 shift ; inline
+: D3DXSHADER_PACKMATRIX_COLUMNMAJOR ( -- n ) 1 4 shift ; inline
+: D3DXSHADER_PARTIALPRECISION ( -- n ) 1 5 shift ; inline
+: D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT ( -- n ) 1 6 shift ; inline
+: D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT ( -- n ) 1 7 shift ; inline
+: D3DXSHADER_NO_PRESHADER ( -- n ) 1 8 shift ; inline
+: D3DXSHADER_AVOID_FLOW_CONTROL ( -- n ) 1 9 shift ; inline
+: D3DXSHADER_PREFER_FLOW_CONTROL ( -- n ) 1 10 shift ; inline
+: D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY ( -- n ) 1 12 shift ; inline
+: D3DXSHADER_IEEE_STRICTNESS ( -- n ) 1 13 shift ; inline
+: D3DXSHADER_USE_LEGACY_D3DX9_31_DLL ( -- n ) 1 16 shift ; inline
+
+: D3DXSHADER_OPTIMIZATION_LEVEL0 ( -- n ) 1 14 shift ; inline
+: D3DXSHADER_OPTIMIZATION_LEVEL1 ( -- n ) 0 ; inline
+: D3DXSHADER_OPTIMIZATION_LEVEL2 ( -- n ) 1 14 shift 1 15 shift bitor ; inline
+: D3DXSHADER_OPTIMIZATION_LEVEL3 ( -- n ) 1 15 shift ; inline
+
+: D3DXCONSTTABLE_LARGEADDRESSAWARE ( -- n ) 1 17 shift ; inline
+
+TYPEDEF: LPCSTR D3DXHANDLE
+TYPEDEF: D3DXHANDLE* LPD3DXHANDLE
+
+STRUCT: D3DXMACRO
+ { Name LPCSTR }
+ { Definition LPCSTR } ;
+TYPEDEF: D3DXMACRO* LPD3DXMACRO
+
+STRUCT: D3DXSEMANTIC
+ { Usage UINT }
+ { UsageIndex UINT } ;
+TYPEDEF: D3DXSEMANTIC* LPD3DXSEMANTIC
+
+C-ENUM:
+ D3DXRS_BOOL
+ D3DXRS_INT4
+ D3DXRS_FLOAT4
+ D3DXRS_SAMPLER ;
+TYPEDEF: int D3DXREGISTER_SET
+TYPEDEF: D3DXREGISTER_SET* LPD3DXREGISTER_SET
+
+C-ENUM:
+ D3DXPC_SCALAR
+ D3DXPC_VECTOR
+ D3DXPC_MATRIX_ROWS
+ D3DXPC_MATRIX_COLUMNS
+ D3DXPC_OBJECT
+ D3DXPC_STRUCT ;
+TYPEDEF: int D3DXPARAMETER_CLASS
+TYPEDEF: D3DXPARAMETER_CLASS* LPD3DXPARAMETER_CLASS
+
+C-ENUM:
+ D3DXPT_VOID
+ D3DXPT_BOOL
+ D3DXPT_INT
+ D3DXPT_FLOAT
+ D3DXPT_STRING
+ D3DXPT_TEXTURE
+ D3DXPT_TEXTURE1D
+ D3DXPT_TEXTURE2D
+ D3DXPT_TEXTURE3D
+ D3DXPT_TEXTURECUBE
+ D3DXPT_SAMPLER
+ D3DXPT_SAMPLER1D
+ D3DXPT_SAMPLER2D
+ D3DXPT_SAMPLER3D
+ D3DXPT_SAMPLERCUBE
+ D3DXPT_PIXELSHADER
+ D3DXPT_VERTEXSHADER
+ D3DXPT_PIXELFRAGMENT
+ D3DXPT_VERTEXFRAGMENT
+ D3DXPT_UNSUPPORTED ;
+TYPEDEF: int D3DXPARAMETER_TYPE
+TYPEDEF: D3DXPARAMETER_TYPE* LPD3DXPARAMETER_TYPE
+
+STRUCT: D3DXCONSTANTTABLE_DESC
+ { Creator LPCSTR }
+ { Version DWORD }
+ { Constants UINT } ;
+TYPEDEF: D3DXCONSTANTTABLE_DESC* LPD3DXCONSTANTTABLE_DESC
+
+STRUCT: D3DXCONSTANT_DESC
+ { Name LPCSTR }
+ { RegisterSet D3DXREGISTER_SET }
+ { RegisterIndex UINT }
+ { RegisterCount UINT }
+ { Class D3DXPARAMETER_CLASS }
+ { Type D3DXPARAMETER_TYPE }
+ { Rows UINT }
+ { Columns UINT }
+ { Elements UINT }
+ { StructMembers UINT }
+ { Bytes UINT }
+ { DefaultValue LPCVOID } ;
+TYPEDEF: D3DXCONSTANT_DESC* LPD3DXCONSTANT_DESC
+
+C-TYPE: ID3DXConstantTable
+TYPEDEF: ID3DXConstantTable* LPD3DXCONSTANTTABLE
+
+COM-INTERFACE: ID3DXConstantTable IUnknown {AB3C758F-093E-4356-B762-4DB18F1B3A01}
+ LPVOID GetBufferPointer ( )
+ DWORD GetBufferSize ( )
+ HRESULT GetDesc ( D3DXCONSTANTTABLE_DESC* pDesc )
+ HRESULT GetConstantDesc ( D3DXHANDLE hConstant, D3DXCONSTANT_DESC* pConstantDesc, UINT* pCount )
+ UINT GetSamplerIndex ( D3DXHANDLE hConstant )
+ D3DXHANDLE GetConstant ( D3DXHANDLE hConstant, UINT Index )
+ D3DXHANDLE GetConstantByName ( D3DXHANDLE hConstant, LPCSTR pName )
+ D3DXHANDLE GetConstantElement ( D3DXHANDLE hConstant, UINT Index )
+ HRESULT SetDefaults ( LPDIRECT3DDEVICE9 pDevice )
+ HRESULT SetValue ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes )
+ HRESULT SetBool ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL b )
+ HRESULT SetBoolArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL* pb, UINT Count )
+ HRESULT SetInt ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT n )
+ HRESULT SetIntArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT* pn, UINT Count )
+ HRESULT SetFloat ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT f )
+ HRESULT SetFloatArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT* pf, UINT Count )
+ HRESULT SetVector ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXVECTOR4* pVector )
+ HRESULT SetVectorArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXVECTOR4* pVector, UINT Count )
+ HRESULT SetMatrix ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix )
+ HRESULT SetMatrixArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count )
+ HRESULT SetMatrixPointerArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count )
+ HRESULT SetMatrixTranspose ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix )
+ HRESULT SetMatrixTransposeArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count )
+ HRESULT SetMatrixTransposePointerArray ( LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count ) ;
+
+C-TYPE: ID3DXTextureShader
+TYPEDEF: ID3DXTextureShader* LPD3DXTEXTURESHADER
+
+COM-INTERFACE: ID3DXTextureShader IUnknown {3E3D67F8-AA7A-405d-A857-BA01D4758426}
+ HRESULT GetFunction ( LPD3DXBUFFER* ppFunction )
+ HRESULT GetConstantBuffer ( LPD3DXBUFFER* ppConstantBuffer )
+ HRESULT GetDesc ( D3DXCONSTANTTABLE_DESC* pDesc )
+ HRESULT GetConstantDesc ( D3DXHANDLE hConstant, D3DXCONSTANT_DESC* pConstantDesc, UINT* pCount )
+ D3DXHANDLE GetConstant ( D3DXHANDLE hConstant, UINT Index )
+ D3DXHANDLE GetConstantByName ( D3DXHANDLE hConstant, LPCSTR pName )
+ D3DXHANDLE GetConstantElement ( D3DXHANDLE hConstant, UINT Index )
+ HRESULT SetDefaults ( )
+ HRESULT SetValue ( D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes )
+ HRESULT SetBool ( D3DXHANDLE hConstant, BOOL b )
+ HRESULT SetBoolArray ( D3DXHANDLE hConstant, BOOL* pb, UINT Count )
+ HRESULT SetInt ( D3DXHANDLE hConstant, INT n )
+ HRESULT SetIntArray ( D3DXHANDLE hConstant, INT* pn, UINT Count )
+ HRESULT SetFloat ( D3DXHANDLE hConstant, FLOAT f )
+ HRESULT SetFloatArray ( D3DXHANDLE hConstant, FLOAT* pf, UINT Count )
+ HRESULT SetVector ( D3DXHANDLE hConstant, D3DXVECTOR4* pVector )
+ HRESULT SetVectorArray ( D3DXHANDLE hConstant, D3DXVECTOR4* pVector, UINT Count )
+ HRESULT SetMatrix ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix )
+ HRESULT SetMatrixArray ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count )
+ HRESULT SetMatrixPointerArray ( D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count )
+ HRESULT SetMatrixTranspose ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix )
+ HRESULT SetMatrixTransposeArray ( D3DXHANDLE hConstant, D3DXMATRIX* pMatrix, UINT Count )
+ HRESULT SetMatrixTransposePointerArray ( D3DXHANDLE hConstant, D3DXMATRIX** ppMatrix, UINT Count ) ;
+
+C-ENUM:
+ D3DXINC_LOCAL
+ D3DXINC_SYSTEM ;
+TYPEDEF: int D3DXINCLUDE_TYPE
+TYPEDEF: D3DXINCLUDE_TYPE* LPD3DXINCLUDE_TYPE
+
+C-TYPE: ID3DXInclude
+TYPEDEF: ID3DXInclude* LPD3DXINCLUDE
+
+COM-INTERFACE: ID3DXInclude f {00000000-0000-0000-0000-000000000000}
+ HRESULT Open ( D3DXINCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes )
+ HRESULT Close ( LPCVOID pData ) ;
+
+FUNCTION: HRESULT
+ D3DXAssembleShaderFromFileA (
+ LPCSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+FUNCTION: HRESULT
+ D3DXAssembleShaderFromFileW (
+ LPCWSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+ALIAS: D3DXAssembleShaderFromFile D3DXAssembleShaderFromFileW
+
+FUNCTION: HRESULT
+ D3DXAssembleShaderFromResourceA (
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+FUNCTION: HRESULT
+ D3DXAssembleShaderFromResourceW (
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+ALIAS: D3DXAssembleShaderFromResource D3DXAssembleShaderFromResourceW
+
+FUNCTION: HRESULT
+ D3DXAssembleShader (
+ LPCSTR pSrcData,
+ UINT SrcDataLen,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+FUNCTION: HRESULT
+ D3DXCompileShaderFromFileA (
+ LPCSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pFunctionName,
+ LPCSTR pProfile,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs,
+ LPD3DXCONSTANTTABLE* ppConstantTable ) ;
+
+FUNCTION: HRESULT
+ D3DXCompileShaderFromFileW (
+ LPCWSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pFunctionName,
+ LPCSTR pProfile,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs,
+ LPD3DXCONSTANTTABLE* ppConstantTable ) ;
+
+ALIAS: D3DXCompileShaderFromFile D3DXCompileShaderFromFileW
+
+FUNCTION: HRESULT
+ D3DXCompileShaderFromResourceA (
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pFunctionName,
+ LPCSTR pProfile,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs,
+ LPD3DXCONSTANTTABLE* ppConstantTable ) ;
+
+FUNCTION: HRESULT
+ D3DXCompileShaderFromResourceW (
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pFunctionName,
+ LPCSTR pProfile,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs,
+ LPD3DXCONSTANTTABLE* ppConstantTable ) ;
+
+ALIAS: D3DXCompileShaderFromResource D3DXCompileShaderFromResourceW
+
+FUNCTION: HRESULT
+ D3DXCompileShader (
+ LPCSTR pSrcData,
+ UINT SrcDataLen,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPCSTR pFunctionName,
+ LPCSTR pProfile,
+ DWORD Flags,
+ LPD3DXBUFFER* ppShader,
+ LPD3DXBUFFER* ppErrorMsgs,
+ LPD3DXCONSTANTTABLE* ppConstantTable ) ;
+
+FUNCTION: HRESULT
+ D3DXDisassembleShader (
+ DWORD* pShader,
+ BOOL EnableColorCode,
+ LPCSTR pComments,
+ LPD3DXBUFFER* ppDisassembly ) ;
+
+FUNCTION: LPCSTR
+ D3DXGetPixelShaderProfile (
+ LPDIRECT3DDEVICE9 pDevice ) ;
+
+FUNCTION: LPCSTR
+ D3DXGetVertexShaderProfile (
+ LPDIRECT3DDEVICE9 pDevice ) ;
+
+FUNCTION: HRESULT
+ D3DXFindShaderComment (
+ DWORD* pFunction,
+ DWORD FourCC,
+ LPCVOID* ppData,
+ UINT* pSizeInBytes ) ;
+
+FUNCTION: UINT
+ D3DXGetShaderSize (
+ DWORD* pFunction ) ;
+
+FUNCTION: DWORD
+ D3DXGetShaderVersion (
+ DWORD* pFunction ) ;
+
+FUNCTION: HRESULT
+ D3DXGetShaderInputSemantics (
+ DWORD* pFunction,
+ D3DXSEMANTIC* pSemantics,
+ UINT* pCount ) ;
+
+FUNCTION: HRESULT
+ D3DXGetShaderOutputSemantics (
+ DWORD* pFunction,
+ D3DXSEMANTIC* pSemantics,
+ UINT* pCount ) ;
+
+FUNCTION: HRESULT
+ D3DXGetShaderSamplers (
+ DWORD* pFunction,
+ LPCSTR* pSamplers,
+ UINT* pCount ) ;
+
+FUNCTION: HRESULT
+ D3DXGetShaderConstantTable (
+ DWORD* pFunction,
+ LPD3DXCONSTANTTABLE* ppConstantTable ) ;
+
+FUNCTION: HRESULT
+ D3DXGetShaderConstantTableEx (
+ DWORD* pFunction,
+ DWORD Flags,
+ LPD3DXCONSTANTTABLE* ppConstantTable ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextureShader (
+ DWORD* pFunction,
+ LPD3DXTEXTURESHADER* ppTextureShader ) ;
+
+FUNCTION: HRESULT
+ D3DXPreprocessShaderFromFileA (
+ LPCSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPD3DXBUFFER* ppShaderText,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+FUNCTION: HRESULT
+ D3DXPreprocessShaderFromFileW (
+ LPCWSTR pSrcFile,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPD3DXBUFFER* ppShaderText,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+ALIAS: D3DXPreprocessShaderFromFile D3DXPreprocessShaderFromFileW
+
+FUNCTION: HRESULT
+ D3DXPreprocessShaderFromResourceA (
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPD3DXBUFFER* ppShaderText,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+FUNCTION: HRESULT
+ D3DXPreprocessShaderFromResourceW (
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPD3DXBUFFER* ppShaderText,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+ALIAS: D3DXPreprocessShaderFromResource D3DXPreprocessShaderFromResourceW
+
+FUNCTION: HRESULT
+ D3DXPreprocessShader (
+ LPCSTR pSrcData,
+ UINT SrcDataSize,
+ D3DXMACRO* pDefines,
+ LPD3DXINCLUDE pInclude,
+ LPD3DXBUFFER* ppShaderText,
+ LPD3DXBUFFER* ppErrorMsgs ) ;
+
+STRUCT: D3DXSHADER_CONSTANTTABLE
+ { Size DWORD }
+ { Creator DWORD }
+ { Version DWORD }
+ { Constants DWORD }
+ { ConstantInfo DWORD }
+ { Flags DWORD }
+ { Target DWORD } ;
+TYPEDEF: D3DXSHADER_CONSTANTTABLE* LPD3DXSHADER_CONSTANTTABLE
+
+STRUCT: D3DXSHADER_CONSTANTINFO
+ { Name DWORD }
+ { RegisterSet WORD }
+ { RegisterIndex WORD }
+ { RegisterCount WORD }
+ { Reserved WORD }
+ { TypeInfo DWORD }
+ { DefaultValue DWORD } ;
+TYPEDEF: D3DXSHADER_CONSTANTINFO* LPD3DXSHADER_CONSTANTINFO
+
+STRUCT: D3DXSHADER_TYPEINFO
+ { Class WORD }
+ { Type WORD }
+ { Rows WORD }
+ { Columns WORD }
+ { Elements WORD }
+ { StructMembers WORD }
+ { StructMemberInfo DWORD } ;
+TYPEDEF: D3DXSHADER_TYPEINFO* LPD3DXSHADER_TYPEINFO
+
+STRUCT: D3DXSHADER_STRUCTMEMBERINFO
+ { Name DWORD }
+ { TypeInfo DWORD } ;
+TYPEDEF: D3DXSHADER_STRUCTMEMBERINFO* LPD3DXSHADER_STRUCTMEMBERINFO
+
--- /dev/null
+DirectX 9 bindings. Corresponds to d3dx9shader.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax windows.directx.d3d9
+windows.directx.d3dx9core windows.directx.d3dx9mesh
+windows.types ;
+IN: windows.directx.d3dx9shape
+
+LIBRARY: d3dx9
+
+TYPEDEF: void* LPGLYPHMETRICSFLOAT
+
+FUNCTION: HRESULT
+ D3DXCreatePolygon (
+ LPDIRECT3DDEVICE9 pDevice,
+ FLOAT Length,
+ UINT Sides,
+ LPD3DXMESH* ppMesh,
+ LPD3DXBUFFER* ppAdjacency ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateBox (
+ LPDIRECT3DDEVICE9 pDevice,
+ FLOAT Width,
+ FLOAT Height,
+ FLOAT Depth,
+ LPD3DXMESH* ppMesh,
+ LPD3DXBUFFER* ppAdjacency ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateCylinder (
+ LPDIRECT3DDEVICE9 pDevice,
+ FLOAT Radius1,
+ FLOAT Radius2,
+ FLOAT Length,
+ UINT Slices,
+ UINT Stacks,
+ LPD3DXMESH* ppMesh,
+ LPD3DXBUFFER* ppAdjacency ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateSphere (
+ LPDIRECT3DDEVICE9 pDevice,
+ FLOAT Radius,
+ UINT Slices,
+ UINT Stacks,
+ LPD3DXMESH* ppMesh,
+ LPD3DXBUFFER* ppAdjacency ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTorus (
+ LPDIRECT3DDEVICE9 pDevice,
+ FLOAT InnerRadius,
+ FLOAT OuterRadius,
+ UINT Sides,
+ UINT Rings,
+ LPD3DXMESH* ppMesh,
+ LPD3DXBUFFER* ppAdjacency ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTeapot (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPD3DXMESH* ppMesh,
+ LPD3DXBUFFER* ppAdjacency ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HDC hDC,
+ LPCSTR pText,
+ FLOAT Deviation,
+ FLOAT Extrusion,
+ LPD3DXMESH* ppMesh,
+ LPD3DXBUFFER* ppAdjacency,
+ LPGLYPHMETRICSFLOAT pGlyphMetrics ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HDC hDC,
+ LPCWSTR pText,
+ FLOAT Deviation,
+ FLOAT Extrusion,
+ LPD3DXMESH* ppMesh,
+ LPD3DXBUFFER* ppAdjacency,
+ LPGLYPHMETRICSFLOAT pGlyphMetrics ) ;
+
+ALIAS: D3DXCreateText D3DXCreateTextW
--- /dev/null
+DirectX 9 bindings. Corresponds to d3dx9shape.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct math
+windows.directx.d3d9 windows.directx.d3d9types
+windows.directx.d3dx9core windows.directx.d3dx9shader
+windows.types ;
+IN: windows.directx.d3dx9tex
+
+LIBRARY: d3dx9
+
+: D3DX_FILTER_NONE ( -- n ) 1 0 shift ; inline
+: D3DX_FILTER_POINT ( -- n ) 2 0 shift ; inline
+: D3DX_FILTER_LINEAR ( -- n ) 3 0 shift ; inline
+: D3DX_FILTER_TRIANGLE ( -- n ) 4 0 shift ; inline
+: D3DX_FILTER_BOX ( -- n ) 5 0 shift ; inline
+
+: D3DX_FILTER_MIRROR_U ( -- n ) 1 16 shift ; inline
+: D3DX_FILTER_MIRROR_V ( -- n ) 2 16 shift ; inline
+: D3DX_FILTER_MIRROR_W ( -- n ) 4 16 shift ; inline
+: D3DX_FILTER_MIRROR ( -- n ) 7 16 shift ; inline
+
+: D3DX_FILTER_DITHER ( -- n ) 1 19 shift ; inline
+: D3DX_FILTER_DITHER_DIFFUSION ( -- n ) 2 19 shift ; inline
+
+: D3DX_FILTER_SRGB_IN ( -- n ) 1 21 shift ; inline
+: D3DX_FILTER_SRGB_OUT ( -- n ) 2 21 shift ; inline
+: D3DX_FILTER_SRGB ( -- n ) 3 21 shift ; inline
+
+CONSTANT: D3DX_SKIP_DDS_MIP_LEVELS_MASK HEX: 1F
+CONSTANT: D3DX_SKIP_DDS_MIP_LEVELS_SHIFT 26
+
+: D3DX_NORMALMAP_MIRROR_U ( -- n ) 1 16 shift ; inline
+: D3DX_NORMALMAP_MIRROR_V ( -- n ) 2 16 shift ; inline
+: D3DX_NORMALMAP_MIRROR ( -- n ) 3 16 shift ; inline
+: D3DX_NORMALMAP_INVERTSIGN ( -- n ) 8 16 shift ; inline
+: D3DX_NORMALMAP_COMPUTE_OCCLUSION ( -- n ) 16 16 shift ; inline
+
+: D3DX_CHANNEL_RED ( -- n ) 1 0 shift ; inline
+: D3DX_CHANNEL_BLUE ( -- n ) 1 1 shift ; inline
+: D3DX_CHANNEL_GREEN ( -- n ) 1 2 shift ; inline
+: D3DX_CHANNEL_ALPHA ( -- n ) 1 3 shift ; inline
+: D3DX_CHANNEL_LUMINANCE ( -- n ) 1 4 shift ; inline
+
+CONSTANT: D3DXIFF_BMP 0
+CONSTANT: D3DXIFF_JPG 1
+CONSTANT: D3DXIFF_TGA 2
+CONSTANT: D3DXIFF_PNG 3
+CONSTANT: D3DXIFF_DDS 4
+CONSTANT: D3DXIFF_PPM 5
+CONSTANT: D3DXIFF_DIB 6
+CONSTANT: D3DXIFF_HDR 7
+CONSTANT: D3DXIFF_PFM 8
+CONSTANT: D3DXIFF_FORCE_DWORD HEX: 7fffffff
+TYPEDEF: int D3DXIMAGE_FILEFORMAT
+
+TYPEDEF: void* LPD3DXFILL2D
+TYPEDEF: void* LPD3DXFILL3D
+
+STRUCT: D3DXIMAGE_INFO
+ { Width UINT }
+ { Height UINT }
+ { Depth UINT }
+ { MipLevels UINT }
+ { Format D3DFORMAT }
+ { ResourceType D3DRESOURCETYPE }
+ { ImageFileFormat D3DXIMAGE_FILEFORMAT } ;
+
+FUNCTION: HRESULT
+ D3DXGetImageInfoFromFileA (
+ LPCSTR pSrcFile,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXGetImageInfoFromFileW (
+ LPCWSTR pSrcFile,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+ALIAS: D3DXGetImageInfoFromFile D3DXGetImageInfoFromFileW
+
+FUNCTION: HRESULT
+ D3DXGetImageInfoFromResourceA (
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXGetImageInfoFromResourceW (
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+ALIAS: D3DXGetImageInfoFromResource D3DXGetImageInfoFromResourceW
+
+FUNCTION: HRESULT
+ D3DXGetImageInfoFromFileInMemory (
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadSurfaceFromFileA (
+ LPDIRECT3DSURFACE9 pDestSurface,
+ PALETTEENTRY* pDestPalette,
+ RECT* pDestRect,
+ LPCSTR pSrcFile,
+ RECT* pSrcRect,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadSurfaceFromFileW (
+ LPDIRECT3DSURFACE9 pDestSurface,
+ PALETTEENTRY* pDestPalette,
+ RECT* pDestRect,
+ LPCWSTR pSrcFile,
+ RECT* pSrcRect,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+ALIAS: D3DXLoadSurfaceFromFile D3DXLoadSurfaceFromFileW
+
+FUNCTION: HRESULT
+ D3DXLoadSurfaceFromResourceA (
+ LPDIRECT3DSURFACE9 pDestSurface,
+ PALETTEENTRY* pDestPalette,
+ RECT* pDestRect,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ RECT* pSrcRect,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadSurfaceFromResourceW (
+ LPDIRECT3DSURFACE9 pDestSurface,
+ PALETTEENTRY* pDestPalette,
+ RECT* pDestRect,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ RECT* pSrcRect,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+ALIAS: D3DXLoadSurfaceFromResource D3DXLoadSurfaceFromResourceW
+
+FUNCTION: HRESULT
+ D3DXLoadSurfaceFromFileInMemory (
+ LPDIRECT3DSURFACE9 pDestSurface,
+ PALETTEENTRY* pDestPalette,
+ RECT* pDestRect,
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ RECT* pSrcRect,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadSurfaceFromSurface (
+ LPDIRECT3DSURFACE9 pDestSurface,
+ PALETTEENTRY* pDestPalette,
+ RECT* pDestRect,
+ LPDIRECT3DSURFACE9 pSrcSurface,
+ PALETTEENTRY* pSrcPalette,
+ RECT* pSrcRect,
+ DWORD Filter,
+ D3DCOLOR ColorKey ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadSurfaceFromMemory (
+ LPDIRECT3DSURFACE9 pDestSurface,
+ PALETTEENTRY* pDestPalette,
+ RECT* pDestRect,
+ LPCVOID pSrcMemory,
+ D3DFORMAT SrcFormat,
+ UINT SrcPitch,
+ PALETTEENTRY* pSrcPalette,
+ RECT* pSrcRect,
+ DWORD Filter,
+ D3DCOLOR ColorKey ) ;
+
+FUNCTION: HRESULT
+ D3DXSaveSurfaceToFileA (
+ LPCSTR pDestFile,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DSURFACE9 pSrcSurface,
+ PALETTEENTRY* pSrcPalette,
+ RECT* pSrcRect ) ;
+
+FUNCTION: HRESULT
+ D3DXSaveSurfaceToFileW (
+ LPCWSTR pDestFile,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DSURFACE9 pSrcSurface,
+ PALETTEENTRY* pSrcPalette,
+ RECT* pSrcRect ) ;
+
+ALIAS: D3DXSaveSurfaceToFile D3DXSaveSurfaceToFileW
+
+FUNCTION: HRESULT
+ D3DXSaveSurfaceToFileInMemory (
+ LPD3DXBUFFER* ppDestBuf,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DSURFACE9 pSrcSurface,
+ PALETTEENTRY* pSrcPalette,
+ RECT* pSrcRect ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadVolumeFromFileA (
+ LPDIRECT3DVOLUME9 pDestVolume,
+ PALETTEENTRY* pDestPalette,
+ D3DBOX* pDestBox,
+ LPCSTR pSrcFile,
+ D3DBOX* pSrcBox,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadVolumeFromFileW (
+ LPDIRECT3DVOLUME9 pDestVolume,
+ PALETTEENTRY* pDestPalette,
+ D3DBOX* pDestBox,
+ LPCWSTR pSrcFile,
+ D3DBOX* pSrcBox,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+ALIAS: D3DXLoadVolumeFromFile D3DXLoadVolumeFromFileW
+
+FUNCTION: HRESULT
+ D3DXLoadVolumeFromResourceA (
+ LPDIRECT3DVOLUME9 pDestVolume,
+ PALETTEENTRY* pDestPalette,
+ D3DBOX* pDestBox,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ D3DBOX* pSrcBox,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadVolumeFromResourceW (
+ LPDIRECT3DVOLUME9 pDestVolume,
+ PALETTEENTRY* pDestPalette,
+ D3DBOX* pDestBox,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ D3DBOX* pSrcBox,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+ALIAS: D3DXLoadVolumeFromResource D3DXLoadVolumeFromResourceW
+
+FUNCTION: HRESULT
+ D3DXLoadVolumeFromFileInMemory (
+ LPDIRECT3DVOLUME9 pDestVolume,
+ PALETTEENTRY* pDestPalette,
+ D3DBOX* pDestBox,
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ D3DBOX* pSrcBox,
+ DWORD Filter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadVolumeFromVolume (
+ LPDIRECT3DVOLUME9 pDestVolume,
+ PALETTEENTRY* pDestPalette,
+ D3DBOX* pDestBox,
+ LPDIRECT3DVOLUME9 pSrcVolume,
+ PALETTEENTRY* pSrcPalette,
+ D3DBOX* pSrcBox,
+ DWORD Filter,
+ D3DCOLOR ColorKey ) ;
+
+FUNCTION: HRESULT
+ D3DXLoadVolumeFromMemory (
+ LPDIRECT3DVOLUME9 pDestVolume,
+ PALETTEENTRY* pDestPalette,
+ D3DBOX* pDestBox,
+ LPCVOID pSrcMemory,
+ D3DFORMAT SrcFormat,
+ UINT SrcRowPitch,
+ UINT SrcSlicePitch,
+ PALETTEENTRY* pSrcPalette,
+ D3DBOX* pSrcBox,
+ DWORD Filter,
+ D3DCOLOR ColorKey ) ;
+
+FUNCTION: HRESULT
+ D3DXSaveVolumeToFileA (
+ LPCSTR pDestFile,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DVOLUME9 pSrcVolume,
+ PALETTEENTRY* pSrcPalette,
+ D3DBOX* pSrcBox ) ;
+
+FUNCTION: HRESULT
+ D3DXSaveVolumeToFileW (
+ LPCWSTR pDestFile,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DVOLUME9 pSrcVolume,
+ PALETTEENTRY* pSrcPalette,
+ D3DBOX* pSrcBox ) ;
+
+ALIAS: D3DXSaveVolumeToFile D3DXSaveVolumeToFileW
+
+FUNCTION: HRESULT
+ D3DXSaveVolumeToFileInMemory (
+ LPD3DXBUFFER* ppDestBuf,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DVOLUME9 pSrcVolume,
+ PALETTEENTRY* pSrcPalette,
+ D3DBOX* pSrcBox ) ;
+
+FUNCTION: HRESULT
+ D3DXCheckTextureRequirements (
+ LPDIRECT3DDEVICE9 pDevice,
+ UINT* pWidth,
+ UINT* pHeight,
+ UINT* pNumMipLevels,
+ DWORD Usage,
+ D3DFORMAT* pFormat,
+ D3DPOOL Pool ) ;
+
+FUNCTION: HRESULT
+ D3DXCheckCubeTextureRequirements (
+ LPDIRECT3DDEVICE9 pDevice,
+ UINT* pSize,
+ UINT* pNumMipLevels,
+ DWORD Usage,
+ D3DFORMAT* pFormat,
+ D3DPOOL Pool ) ;
+
+FUNCTION: HRESULT
+ D3DXCheckVolumeTextureRequirements (
+ LPDIRECT3DDEVICE9 pDevice,
+ UINT* pWidth,
+ UINT* pHeight,
+ UINT* pDepth,
+ UINT* pNumMipLevels,
+ DWORD Usage,
+ D3DFORMAT* pFormat,
+ D3DPOOL Pool ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTexture (
+ LPDIRECT3DDEVICE9 pDevice,
+ UINT Width,
+ UINT Height,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTexture (
+ LPDIRECT3DDEVICE9 pDevice,
+ UINT Size,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTexture (
+ LPDIRECT3DDEVICE9 pDevice,
+ UINT Width,
+ UINT Height,
+ UINT Depth,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromFileA (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCSTR pSrcFile,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromFileW (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCWSTR pSrcFile,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+ALIAS: D3DXCreateTextureFromFile D3DXCreateTextureFromFileW
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromFileA (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCSTR pSrcFile,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromFileW (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCWSTR pSrcFile,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+ALIAS: D3DXCreateCubeTextureFromFile D3DXCreateCubeTextureFromFileW
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromFileA (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCSTR pSrcFile,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromFileW (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCWSTR pSrcFile,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+ALIAS: D3DXCreateVolumeTextureFromFile D3DXCreateVolumeTextureFromFileW
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromResourceA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromResourceW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+ALIAS: D3DXCreateTextureFromResource D3DXCreateTextureFromResourceW
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromResourceA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromResourceW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+ALIAS: D3DXCreateCubeTextureFromResource D3DXCreateCubeTextureFromResourceW
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromResourceA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromResourceW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+ALIAS: D3DXCreateVolumeTextureFromResource D3DXCreateVolumeTextureFromResourceW
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromFileExA (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCSTR pSrcFile,
+ UINT Width,
+ UINT Height,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromFileExW (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCWSTR pSrcFile,
+ UINT Width,
+ UINT Height,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+ALIAS: D3DXCreateTextureFromFileEx D3DXCreateTextureFromFileExW
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromFileExA (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCSTR pSrcFile,
+ UINT Size,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromFileExW (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCWSTR pSrcFile,
+ UINT Size,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+ALIAS: D3DXCreateCubeTextureFromFileEx D3DXCreateCubeTextureFromFileExW
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromFileExA (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCSTR pSrcFile,
+ UINT Width,
+ UINT Height,
+ UINT Depth,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromFileExW (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCWSTR pSrcFile,
+ UINT Width,
+ UINT Height,
+ UINT Depth,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+ALIAS: D3DXCreateVolumeTextureFromFileEx D3DXCreateVolumeTextureFromFileExW
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromResourceExA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ UINT Width,
+ UINT Height,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromResourceExW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ UINT Width,
+ UINT Height,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+ALIAS: D3DXCreateTextureFromResourceEx D3DXCreateTextureFromResourceExW
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromResourceExA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ UINT Size,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromResourceExW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ UINT Size,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+ALIAS: D3DXCreateCubeTextureFromResourceEx D3DXCreateCubeTextureFromResourceExW
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromResourceExA (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCSTR pSrcResource,
+ UINT Width,
+ UINT Height,
+ UINT Depth,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromResourceExW (
+ LPDIRECT3DDEVICE9 pDevice,
+ HMODULE hSrcModule,
+ LPCWSTR pSrcResource,
+ UINT Width,
+ UINT Height,
+ UINT Depth,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+ALIAS: D3DXCreateVolumeTextureFromResourceEx D3DXCreateVolumeTextureFromResourceExW
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromFileInMemory (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromFileInMemory (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromFileInMemory (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateTextureFromFileInMemoryEx (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ UINT Width,
+ UINT Height,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DTEXTURE9* ppTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateCubeTextureFromFileInMemoryEx (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ UINT Size,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DCUBETEXTURE9* ppCubeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXCreateVolumeTextureFromFileInMemoryEx (
+ LPDIRECT3DDEVICE9 pDevice,
+ LPCVOID pSrcData,
+ UINT SrcDataSize,
+ UINT Width,
+ UINT Height,
+ UINT Depth,
+ UINT MipLevels,
+ DWORD Usage,
+ D3DFORMAT Format,
+ D3DPOOL Pool,
+ DWORD Filter,
+ DWORD MipFilter,
+ D3DCOLOR ColorKey,
+ D3DXIMAGE_INFO* pSrcInfo,
+ PALETTEENTRY* pPalette,
+ LPDIRECT3DVOLUMETEXTURE9* ppVolumeTexture ) ;
+
+FUNCTION: HRESULT
+ D3DXSaveTextureToFileA (
+ LPCSTR pDestFile,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DBASETEXTURE9 pSrcTexture,
+ PALETTEENTRY* pSrcPalette ) ;
+
+FUNCTION: HRESULT
+ D3DXSaveTextureToFileW (
+ LPCWSTR pDestFile,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DBASETEXTURE9 pSrcTexture,
+ PALETTEENTRY* pSrcPalette ) ;
+
+ALIAS: D3DXSaveTextureToFile D3DXSaveTextureToFileW
+
+FUNCTION: HRESULT
+ D3DXSaveTextureToFileInMemory (
+ LPD3DXBUFFER* ppDestBuf,
+ D3DXIMAGE_FILEFORMAT DestFormat,
+ LPDIRECT3DBASETEXTURE9 pSrcTexture,
+ PALETTEENTRY* pSrcPalette ) ;
+
+FUNCTION: HRESULT
+ D3DXFilterTexture (
+ LPDIRECT3DBASETEXTURE9 pBaseTexture,
+ PALETTEENTRY* pPalette,
+ UINT SrcLevel,
+ DWORD Filter ) ;
+
+ALIAS: D3DXFilterCubeTexture D3DXFilterTexture
+ALIAS: D3DXFilterVolumeTexture D3DXFilterTexture
+
+FUNCTION: HRESULT
+ D3DXFillTexture (
+ LPDIRECT3DTEXTURE9 pTexture,
+ LPD3DXFILL2D pFunction,
+ LPVOID pData ) ;
+
+FUNCTION: HRESULT
+ D3DXFillCubeTexture (
+ LPDIRECT3DCUBETEXTURE9 pCubeTexture,
+ LPD3DXFILL3D pFunction,
+ LPVOID pData ) ;
+
+FUNCTION: HRESULT
+ D3DXFillVolumeTexture (
+ LPDIRECT3DVOLUMETEXTURE9 pVolumeTexture,
+ LPD3DXFILL3D pFunction,
+ LPVOID pData ) ;
+
+FUNCTION: HRESULT
+ D3DXFillTextureTX (
+ LPDIRECT3DTEXTURE9 pTexture,
+ LPD3DXTEXTURESHADER pTextureShader ) ;
+
+FUNCTION: HRESULT
+ D3DXFillCubeTextureTX (
+ LPDIRECT3DCUBETEXTURE9 pCubeTexture,
+ LPD3DXTEXTURESHADER pTextureShader ) ;
+
+
+FUNCTION: HRESULT
+ D3DXFillVolumeTextureTX (
+ LPDIRECT3DVOLUMETEXTURE9 pVolumeTexture,
+ LPD3DXTEXTURESHADER pTextureShader ) ;
+
+FUNCTION: HRESULT
+ D3DXComputeNormalMap (
+ LPDIRECT3DTEXTURE9 pTexture,
+ LPDIRECT3DTEXTURE9 pSrcTexture,
+ PALETTEENTRY* pSrcPalette,
+ DWORD Flags,
+ DWORD Channel,
+ FLOAT Amplitude ) ;
--- /dev/null
+DirectX 9 texture library bindings. Corresponds to d3dx9tex.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax classes.struct windows.com
+windows.com.syntax windows.kernel32 windows.ole32 windows.types ;
+IN: windows.directx.d3dx9xof
+
+LIBRARY: d3dx9
+
+TYPEDEF: DWORD D3DXF_FILEFORMAT
+
+CONSTANT: D3DXF_FILEFORMAT_BINARY 0
+CONSTANT: D3DXF_FILEFORMAT_TEXT 1
+CONSTANT: D3DXF_FILEFORMAT_COMPRESSED 2
+
+TYPEDEF: DWORD D3DXF_FILESAVEOPTIONS
+
+CONSTANT: D3DXF_FILESAVE_TOFILE 0
+CONSTANT: D3DXF_FILESAVE_TOWFILE 1
+
+TYPEDEF: DWORD D3DXF_FILELOADOPTIONS
+
+CONSTANT: D3DXF_FILELOAD_FROMFILE 0
+CONSTANT: D3DXF_FILELOAD_FROMWFILE 1
+CONSTANT: D3DXF_FILELOAD_FROMRESOURCE 2
+CONSTANT: D3DXF_FILELOAD_FROMMEMORY 3
+
+STRUCT: D3DXF_FILELOADRESOURCE
+ { hModule HMODULE }
+ { lpName LPCSTR }
+ { lpType LPCSTR } ;
+
+STRUCT: D3DXF_FILELOADMEMORY
+ { lpMemory LPCVOID }
+ { dSize SIZE_T } ;
+
+C-TYPE: ID3DXFile
+C-TYPE: ID3DXFileSaveObject
+C-TYPE: ID3DXFileSaveData
+C-TYPE: ID3DXFileEnumObject
+C-TYPE: ID3DXFileData
+
+TYPEDEF: ID3DXFile* LPD3DXFILE
+TYPEDEF: ID3DXFile** LPLPD3DXFILE
+TYPEDEF: ID3DXFileEnumObject* LPD3DXFILEENUMOBJECT
+TYPEDEF: ID3DXFileEnumObject** LPLPD3DXFILEENUMOBJECT
+TYPEDEF: ID3DXFileSaveObject* LPD3DXFILESAVEOBJECT
+TYPEDEF: ID3DXFileSaveObject** LPLPD3DXFILESAVEOBJECT
+TYPEDEF: ID3DXFileData* LPD3DXFILEDATA
+TYPEDEF: ID3DXFileData** LPLPD3DXFILEDATA
+TYPEDEF: ID3DXFileSaveData* LPD3DXFILESAVEDATA
+TYPEDEF: ID3DXFileSaveData** LPLPD3DXFILESAVEDATA
+
+COM-INTERFACE: ID3DXFile IUnknown {cef08cf9-7b4f-4429-9624-2a690a933201}
+ HRESULT CreateEnumObject ( LPCVOID x, D3DXF_FILELOADOPTIONS y,
+ ID3DXFileEnumObject** z )
+ HRESULT CreateSaveObject ( LPCVOID x, D3DXF_FILESAVEOPTIONS y,
+ D3DXF_FILEFORMAT z, ID3DXFileSaveObject** w )
+ HRESULT RegisterTemplates ( LPCVOID x, SIZE_T y )
+ HRESULT RegisterEnumTemplates ( ID3DXFileEnumObject* x ) ;
+
+COM-INTERFACE: ID3DXFileSaveObject IUnknown {cef08cfa-7b4f-4429-9624-2a690a933201}
+ HRESULT GetFile ( ID3DXFile** x )
+ HRESULT AddDataObject ( REFGUID x, LPCSTR y, GUID* z,
+ SIZE_T w, LPCVOID a, ID3DXFileSaveData** b )
+ HRESULT Save ( ) ;
+
+COM-INTERFACE: ID3DXFileSaveData IUnknown {cef08cfb-7b4f-4429-9624-2a690a933201}
+ HRESULT GetSave ( ID3DXFileSaveObject** x )
+ HRESULT GetName ( LPSTR x, SIZE_T* y )
+ HRESULT GetId ( LPGUID x )
+ HRESULT GetType ( GUID* x )
+ HRESULT AddDataObject ( REFGUID x, LPCSTR y, GUID* z,
+ SIZE_T w, LPCVOID a, ID3DXFileSaveData** b )
+ HRESULT AddDataReference ( LPCSTR x, GUID* y ) ;
+
+COM-INTERFACE: ID3DXFileEnumObject IUnknown {cef08cfc-7b4f-4429-9624-2a690a933201}
+ HRESULT GetFile ( ID3DXFile** x )
+ HRESULT GetChildren ( SIZE_T* x )
+ HRESULT GetChild ( SIZE_T x, ID3DXFileData** y )
+ HRESULT GetDataObjectById ( REFGUID x, ID3DXFileData** y )
+ HRESULT GetDataObjectByName ( LPCSTR x, ID3DXFileData** y ) ;
+
+COM-INTERFACE: ID3DXFileData IUnknown {cef08cfd-7b4f-4429-9624-2a690a933201}
+ HRESULT GetEnum ( ID3DXFileEnumObject** x )
+ HRESULT GetName ( LPSTR x, SIZE_T* y )
+ HRESULT GetId ( LPGUID x )
+ HRESULT Lock ( SIZE_T* x, LPCVOID* y )
+ HRESULT Unlock ( )
+ HRESULT GetType ( GUID* x )
+ BOOL IsReference ( )
+ HRESULT GetChildren ( SIZE_T* x )
+ HRESULT GetChild ( SIZE_T x, ID3DXFileData** y ) ;
+
+FUNCTION: HRESULT D3DXFileCreate ( ID3DXFile** lplpDirectXFile ) ;
+
+CONSTANT: D3DXFERR_BADOBJECT HEX: 88760384
+CONSTANT: D3DXFERR_BADVALUE HEX: 88760385
+CONSTANT: D3DXFERR_BADTYPE HEX: 88760386
+CONSTANT: D3DXFERR_NOTFOUND HEX: 88760387
+CONSTANT: D3DXFERR_NOTDONEYET HEX: 88760388
+CONSTANT: D3DXFERR_FILENOTFOUND HEX: 88760389
+CONSTANT: D3DXFERR_RESOURCENOTFOUND HEX: 8876038A
+CONSTANT: D3DXFERR_BADRESOURCE HEX: 8876038B
+CONSTANT: D3DXFERR_BADFILETYPE HEX: 8876038C
+CONSTANT: D3DXFERR_BADFILEVERSION HEX: 8876038D
+CONSTANT: D3DXFERR_BADFILEFLOATSIZE HEX: 8876038E
+CONSTANT: D3DXFERR_BADFILE HEX: 8876038F
+CONSTANT: D3DXFERR_PARSEERROR HEX: 88760390
+CONSTANT: D3DXFERR_BADARRAYSIZE HEX: 88760391
+CONSTANT: D3DXFERR_BADDATAREFERENCE HEX: 88760392
+CONSTANT: D3DXFERR_NOMOREOBJECTS HEX: 88760393
+CONSTANT: D3DXFERR_NOMOREDATA HEX: 88760394
+CONSTANT: D3DXFERR_BADCACHEFILE HEX: 88760395
--- /dev/null
+File library bindings for DirectX. Corresponds to d3dx9xof.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax ;
+IN: windows.directx.dcommon
+
+C-ENUM: DWRITE_MEASURING_MODE_NATURAL
+ DWRITE_MEASURING_MODE_GDI_CLASSIC
+ DWRITE_MEASURING_MODE_GDI_NATURAL ;
+TYPEDEF: int DWRITE_MEASURING_MODE
--- /dev/null
+Common DirectX constants. Corresponds to dcommon.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.dcommon windows.kernel32
+windows.ole32 windows.types ;
+IN: windows.directx.dwrite
+
+LIBRARY: dwrite
+
+C-ENUM:
+ DWRITE_FONT_FILE_TYPE_UNKNOWN
+ DWRITE_FONT_FILE_TYPE_CFF
+ DWRITE_FONT_FILE_TYPE_TRUETYPE
+ DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION
+ DWRITE_FONT_FILE_TYPE_TYPE1_PFM
+ DWRITE_FONT_FILE_TYPE_TYPE1_PFB
+ DWRITE_FONT_FILE_TYPE_VECTOR
+ DWRITE_FONT_FILE_TYPE_BITMAP ;
+TYPEDEF: int DWRITE_FONT_FILE_TYPE
+
+C-ENUM:
+ DWRITE_FONT_FACE_TYPE_CFF
+ DWRITE_FONT_FACE_TYPE_TRUETYPE
+ DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION
+ DWRITE_FONT_FACE_TYPE_TYPE1
+ DWRITE_FONT_FACE_TYPE_VECTOR
+ DWRITE_FONT_FACE_TYPE_BITMAP
+ DWRITE_FONT_FACE_TYPE_UNKNOWN ;
+TYPEDEF: int DWRITE_FONT_FACE_TYPE
+
+CONSTANT: DWRITE_FONT_SIMULATIONS_NONE 0
+CONSTANT: DWRITE_FONT_SIMULATIONS_BOLD 1
+CONSTANT: DWRITE_FONT_SIMULATIONS_OBLIQUE 2
+TYPEDEF: int DWRITE_FONT_SIMULATIONS
+
+CONSTANT: DWRITE_FONT_WEIGHT_THIN 100
+CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_LIGHT 200
+CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_LIGHT 200
+CONSTANT: DWRITE_FONT_WEIGHT_LIGHT 300
+CONSTANT: DWRITE_FONT_WEIGHT_NORMAL 400
+CONSTANT: DWRITE_FONT_WEIGHT_REGULAR 400
+CONSTANT: DWRITE_FONT_WEIGHT_MEDIUM 500
+CONSTANT: DWRITE_FONT_WEIGHT_DEMI_BOLD 600
+CONSTANT: DWRITE_FONT_WEIGHT_SEMI_BOLD 600
+CONSTANT: DWRITE_FONT_WEIGHT_BOLD 700
+CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_BOLD 800
+CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_BOLD 800
+CONSTANT: DWRITE_FONT_WEIGHT_BLACK 900
+CONSTANT: DWRITE_FONT_WEIGHT_HEAVY 900
+CONSTANT: DWRITE_FONT_WEIGHT_EXTRA_BLACK 950
+CONSTANT: DWRITE_FONT_WEIGHT_ULTRA_BLACK 950
+TYPEDEF: int DWRITE_FONT_WEIGHT
+
+CONSTANT: DWRITE_FONT_STRETCH_UNDEFINED 0
+CONSTANT: DWRITE_FONT_STRETCH_ULTRA_CONDENSED 1
+CONSTANT: DWRITE_FONT_STRETCH_EXTRA_CONDENSED 2
+CONSTANT: DWRITE_FONT_STRETCH_CONDENSED 3
+CONSTANT: DWRITE_FONT_STRETCH_SEMI_CONDENSED 4
+CONSTANT: DWRITE_FONT_STRETCH_NORMAL 5
+CONSTANT: DWRITE_FONT_STRETCH_MEDIUM 5
+CONSTANT: DWRITE_FONT_STRETCH_SEMI_EXPANDED 6
+CONSTANT: DWRITE_FONT_STRETCH_EXPANDED 7
+CONSTANT: DWRITE_FONT_STRETCH_EXTRA_EXPANDED 8
+CONSTANT: DWRITE_FONT_STRETCH_ULTRA_EXPANDED 9
+TYPEDEF: int DWRITE_FONT_STRETCH
+
+C-ENUM:
+ DWRITE_FONT_STYLE_NORMAL
+ DWRITE_FONT_STYLE_OBLIQUE
+ DWRITE_FONT_STYLE_ITALIC ;
+TYPEDEF: int DWRITE_FONT_STYLE
+
+C-ENUM:
+ DWRITE_INFORMATIONAL_STRING_NONE
+ DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE
+ DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS
+ DWRITE_INFORMATIONAL_STRING_TRADEMARK
+ DWRITE_INFORMATIONAL_STRING_MANUFACTURER
+ DWRITE_INFORMATIONAL_STRING_DESIGNER
+ DWRITE_INFORMATIONAL_STRING_DESIGNER_URL
+ DWRITE_INFORMATIONAL_STRING_DESCRIPTION
+ DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL
+ DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION
+ DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL
+ DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES
+ DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES
+ DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES
+ DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES
+ DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT ;
+TYPEDEF: int DWRITE_INFORMATIONAL_STRING_ID
+
+STRUCT: DWRITE_FONT_METRICS
+ { designUnitsPerEm USHORT }
+ { ascent USHORT }
+ { descent USHORT }
+ { lineGap SHORT }
+ { capHeight USHORT }
+ { xHeight USHORT }
+ { underlinePosition SHORT }
+ { underlineThickness USHORT }
+ { strikethroughPosition SHORT }
+ { strikethroughThickness USHORT } ;
+
+STRUCT: DWRITE_GLYPH_METRICS
+ { leftSideBearing INT32 }
+ { advanceWidth UINT32 }
+ { rightSideBearing INT32 }
+ { topSideBearing INT32 }
+ { advanceHeight UINT32 }
+ { bottomSideBearing INT32 }
+ { verticalOriginY INT32 } ;
+
+STRUCT: DWRITE_GLYPH_OFFSET
+ { advanceOffset FLOAT }
+ { ascenderOffset FLOAT } ;
+
+C-ENUM:
+ DWRITE_FACTORY_TYPE_SHARED
+ DWRITE_FACTORY_TYPE_ISOLATED ;
+TYPEDEF: int DWRITE_FACTORY_TYPE
+
+C-TYPE: IDWriteFontFileStream
+
+COM-INTERFACE: IDWriteFontFileLoader IUnknown {727cad4e-d6af-4c9e-8a08-d695b11caa49}
+ HRESULT CreateStreamFromKey ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, IDWriteFontFileStream** fontFileStream ) ;
+
+COM-INTERFACE: IDWriteLocalFontFileLoader IDWriteFontFileLoader {b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2}
+ HRESULT GetFilePathLengthFromKey ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, UINT32* filePathLength )
+ HRESULT GetFilePathFromKey ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, WCHAR* filePath, UINT32 filePathSize )
+ HRESULT GetLastWriteTimeFromKey ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, FILETIME* lastWriteTime ) ;
+
+COM-INTERFACE: IDWriteFontFileStream IUnknown {6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0}
+ HRESULT ReadFileFragment ( void** fragmentStart, UINT64 fileOffset, UINT64 fragmentSize, void** fragmentContext )
+ void ReleaseFileFragment ( void* fragmentContext )
+ HRESULT GetFileSize ( UINT64* fileSize )
+ HRESULT GetLastWriteTime ( UINT64* lastWriteTime ) ;
+
+COM-INTERFACE: IDWriteFontFile IUnknown {739d886a-cef5-47dc-8769-1a8b41bebbb0}
+ HRESULT GetReferenceKey ( void** fontFileReferenceKey, UINT32* fontFileReferenceKeySize )
+ HRESULT GetLoader ( IDWriteFontFileLoader** fontFileLoader )
+ HRESULT Analyze ( BOOL* isSupportedFontType, DWRITE_FONT_FILE_TYPE* fontFileType, DWRITE_FONT_FACE_TYPE* fontFaceType, UINT32* numberOfFaces ) ;
+
+TYPEDEF: int DWRITE_PIXEL_GEOMETRY
+C-ENUM:
+ DWRITE_PIXEL_GEOMETRY_FLAT
+ DWRITE_PIXEL_GEOMETRY_RGB
+ DWRITE_PIXEL_GEOMETRY_BGR ;
+
+TYPEDEF: int DWRITE_RENDERING_MODE
+C-ENUM:
+ DWRITE_RENDERING_MODE_DEFAULT
+ DWRITE_RENDERING_MODE_ALIASED
+ DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC
+ DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL
+ DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL
+ DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC
+ DWRITE_RENDERING_MODE_OUTLINE ;
+
+STRUCT: DWRITE_MATRIX
+ { m11 FLOAT }
+ { m12 FLOAT }
+ { m21 FLOAT }
+ { m22 FLOAT }
+ { dx FLOAT }
+ { dy FLOAT } ;
+
+COM-INTERFACE: IDWriteRenderingParams IUnknown {2f0da53a-2add-47cd-82ee-d9ec34688e75}
+ FLOAT GetGamma ( )
+ FLOAT GetEnhancedContrast ( )
+ FLOAT GetClearTypeLevel ( )
+ DWRITE_PIXEL_GEOMETRY GetPixelGeometry ( )
+ DWRITE_RENDERING_MODE GetRenderingMode ( ) ;
+
+C-TYPE: ID2D1SimplifiedGeometrySink
+
+TYPEDEF: ID2D1SimplifiedGeometrySink IDWriteGeometrySink
+
+COM-INTERFACE: IDWriteFontFace IUnknown {5f49804d-7024-4d43-bfa9-d25984f53849}
+ DWRITE_FONT_FACE_TYPE GetType ( )
+ HRESULT GetFiles ( UINT32* numberOfFiles, IDWriteFontFile** fontFiles )
+ UINT32 GetIndex ( )
+ DWRITE_FONT_SIMULATIONS GetSimulations ( )
+ BOOL IsSymbolFont ( )
+ void GetMetrics ( DWRITE_FONT_METRICS* fontFaceMetrics )
+ USHORT GetGlyphCount ( )
+ HRESULT GetDesignGlyphMetrics ( USHORT* glyphIndices, UINT32 glyphCount, DWRITE_GLYPH_METRICS* glyphMetrics, BOOL isSideways )
+ HRESULT GetGlyphIndices ( UINT32* codePoints, UINT32 codePointCount, USHORT* glyphIndices )
+ HRESULT TryGetFontTable ( UINT32 openTypeTableTag, void** tableData, UINT32* tableSize, void** tableContext, BOOL* exists )
+ void ReleaseFontTable ( void* tableContext )
+ HRESULT GetGlyphRunOutline ( FLOAT emSize, USHORT* glyphIndices, FLOAT* glyphAdvances, DWRITE_GLYPH_OFFSET* glyphOffsets, UINT32 glyphCount, BOOL isSideways, BOOL isRightToLeft, IDWriteGeometrySink* geometrySink )
+ HRESULT GetRecommendedRenderingMode ( FLOAT emSize, FLOAT pixelsPerDip, DWRITE_MEASURING_MODE measuringMode, IDWriteRenderingParams* renderingParams, DWRITE_RENDERING_MODE* renderingMode )
+ HRESULT GetGdiCompatibleMetrics ( FLOAT emSize, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, DWRITE_FONT_METRICS* fontFaceMetrics )
+ HRESULT GetGdiCompatibleGlyphMetrics ( FLOAT emSize, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, BOOL useGdiNatural, USHORT* glyphIndices, UINT32 glyphCount, DWRITE_GLYPH_METRICS* glyphMetrics, BOOL isSideways ) ;
+
+C-TYPE: IDWriteFactory
+C-TYPE: IDWriteFontFileEnumerator
+
+COM-INTERFACE: IDWriteFontCollectionLoader IUnknown {cca920e4-52f0-492b-bfa8-29c72ee0a468}
+ HRESULT CreateEnumeratorFromKey ( IDWriteFactory* factory, void* collectionKey, UINT32 collectionKeySize, IDWriteFontFileEnumerator** fontFileEnumerator ) ;
+
+COM-INTERFACE: IDWriteFontFileEnumerator IUnknown {72755049-5ff7-435d-8348-4be97cfa6c7c}
+ HRESULT MoveNext ( BOOL* hasCurrentFile )
+ HRESULT GetCurrentFontFile ( IDWriteFontFile** fontFile ) ;
+
+COM-INTERFACE: IDWriteLocalizedStrings IUnknown {08256209-099a-4b34-b86d-c22b110e7771}
+ UINT32 GetCount ( )
+ HRESULT FindLocaleName ( WCHAR* localeName, UINT32* index, BOOL* exists )
+ HRESULT GetLocaleNameLength ( UINT32 index, UINT32* length )
+ HRESULT GetLocaleName ( UINT32 index, WCHAR* localeName, UINT32 size )
+ HRESULT GetStringLength ( UINT32 index, UINT32* length )
+ HRESULT GetString ( UINT32 index, WCHAR* stringBuffer, UINT32 size ) ;
+
+C-TYPE: IDWriteFontFamily
+C-TYPE: IDWriteFont
+
+COM-INTERFACE: IDWriteFontCollection IUnknown {a84cee02-3eea-4eee-a827-87c1a02a0fcc}
+ UINT32 GetFontFamilyCount ( )
+ HRESULT GetFontFamily ( UINT32 index, IDWriteFontFamily** fontFamily )
+ HRESULT FindFamilyName ( WCHAR* familyName, UINT32* index, BOOL* exists )
+ HRESULT GetFontFromFontFace ( IDWriteFontFace* fontFace, IDWriteFont** font ) ;
+
+COM-INTERFACE: IDWriteFontList IUnknown {1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb}
+ HRESULT GetFontCollection ( IDWriteFontCollection** fontCollection )
+ UINT32 GetFontCount ( )
+ HRESULT GetFont ( UINT32 index, IDWriteFont** font ) ;
+
+COM-INTERFACE: IDWriteFontFamily IDWriteFontList {da20d8ef-812a-4c43-9802-62ec4abd7add}
+ HRESULT GetFamilyNames ( IDWriteLocalizedStrings** names )
+ HRESULT GetFirstMatchingFont ( DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFont** matchingFont )
+ HRESULT GetMatchingFonts ( DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontList** matchingFonts ) ;
+
+COM-INTERFACE: IDWriteFont IUnknown {acd16696-8c14-4f5d-877e-fe3fc1d32737}
+ HRESULT GetFontFamily ( IDWriteFontFamily** fontFamily )
+ DWRITE_FONT_WEIGHT GetWeight ( )
+ DWRITE_FONT_STRETCH GetStretch ( )
+ DWRITE_FONT_STYLE GetStyle ( )
+ BOOL IsSymbolFont ( )
+ HRESULT GetFaceNames ( IDWriteLocalizedStrings** names )
+ HRESULT GetInformationalStrings ( DWRITE_INFORMATIONAL_STRING_ID informationalStringID, IDWriteLocalizedStrings** informationalStrings, BOOL* exists )
+ DWRITE_FONT_SIMULATIONS GetSimulations ( )
+ void GetMetrics ( DWRITE_FONT_METRICS* fontMetrics )
+ HRESULT HasCharacter ( UINT32 unicodeValue, BOOL* exists )
+ HRESULT CreateFontFace ( IDWriteFontFace** fontFace ) ;
+
+TYPEDEF: int DWRITE_READING_DIRECTION
+C-ENUM:
+ DWRITE_READING_DIRECTION_LEFT_TO_RIGHT
+ DWRITE_READING_DIRECTION_RIGHT_TO_LEFT ;
+
+TYPEDEF: int DWRITE_FLOW_DIRECTION
+C-ENUM:
+ DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM ;
+
+TYPEDEF: int DWRITE_TEXT_ALIGNMENT
+C-ENUM:
+ DWRITE_TEXT_ALIGNMENT_LEADING
+ DWRITE_TEXT_ALIGNMENT_TRAILING
+ DWRITE_TEXT_ALIGNMENT_CENTER ;
+
+TYPEDEF: int DWRITE_PARAGRAPH_ALIGNMENT
+C-ENUM:
+ DWRITE_PARAGRAPH_ALIGNMENT_NEAR
+ DWRITE_PARAGRAPH_ALIGNMENT_FAR
+ DWRITE_PARAGRAPH_ALIGNMENT_CENTER ;
+
+TYPEDEF: int DWRITE_WORD_WRAPPING
+C-ENUM:
+ DWRITE_WORD_WRAPPING_WRAP
+ DWRITE_WORD_WRAPPING_NO_WRAP ;
+
+TYPEDEF: int DWRITE_LINE_SPACING_METHOD
+C-ENUM:
+ DWRITE_LINE_SPACING_METHOD_DEFAULT
+ DWRITE_LINE_SPACING_METHOD_UNIFORM ;
+
+TYPEDEF: int DWRITE_TRIMMING_GRANULARITY
+C-ENUM:
+ DWRITE_TRIMMING_GRANULARITY_NONE
+ DWRITE_TRIMMING_GRANULARITY_CHARACTER
+ DWRITE_TRIMMING_GRANULARITY_WORD ;
+
+TYPEDEF: int DWRITE_FONT_FEATURE_TAG
+CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS HEX: 63726661
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS HEX: 63703263
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS HEX: 63733263
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES HEX: 746c6163
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS HEX: 65736163
+CONSTANT: DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION HEX: 706d6363
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES HEX: 67696c63
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING HEX: 70737063
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH HEX: 68777363
+CONSTANT: DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING HEX: 73727563
+CONSTANT: DWRITE_FONT_FEATURE_TAG_DEFAULT HEX: 746c6664
+CONSTANT: DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES HEX: 67696c64
+CONSTANT: DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS HEX: 74707865
+CONSTANT: DWRITE_FONT_FEATURE_TAG_FRACTIONS HEX: 63617266
+CONSTANT: DWRITE_FONT_FEATURE_TAG_FULL_WIDTH HEX: 64697766
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HALF_FORMS HEX: 666c6168
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HALANT_FORMS HEX: 6e6c6168
+CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH HEX: 746c6168
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS HEX: 74736968
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES HEX: 616e6b68
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES HEX: 67696c68
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HALF_WIDTH HEX: 64697768
+CONSTANT: DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS HEX: 6f6a6f68
+CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS04_FORMS HEX: 3430706a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS78_FORMS HEX: 3837706a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS83_FORMS HEX: 3338706a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_JIS90_FORMS HEX: 3039706a
+CONSTANT: DWRITE_FONT_FEATURE_TAG_KERNING HEX: 6e72656b
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES HEX: 6167696c
+CONSTANT: DWRITE_FONT_FEATURE_TAG_LINING_FIGURES HEX: 6d756e6c
+CONSTANT: DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS HEX: 6c636f6c
+CONSTANT: DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING HEX: 6b72616d
+CONSTANT: DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK HEX: 6b72676d
+CONSTANT: DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING HEX: 6b6d6b6d
+CONSTANT: DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS HEX: 746c616e
+CONSTANT: DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS HEX: 6b636c6e
+CONSTANT: DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES HEX: 6d756e6f
+CONSTANT: DWRITE_FONT_FEATURE_TAG_ORDINALS HEX: 6e64726f
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH HEX: 746c6170
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS HEX: 70616370
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES HEX: 6d756e70
+CONSTANT: DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS HEX: 64697770
+CONSTANT: DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS HEX: 64697771
+CONSTANT: DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES HEX: 67696c72
+CONSTANT: DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS HEX: 79627572
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES HEX: 746c6173
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS HEX: 666e6973
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS HEX: 70636d73
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS HEX: 6c706d73
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 HEX: 31307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 HEX: 32307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 HEX: 33307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 HEX: 34307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 HEX: 35307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 HEX: 36307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 HEX: 37307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 HEX: 38307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 HEX: 39307373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 HEX: 30317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 HEX: 31317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 HEX: 32317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 HEX: 33317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 HEX: 34317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 HEX: 35317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 HEX: 36317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 HEX: 37317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 HEX: 38317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 HEX: 39317373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 HEX: 30327373
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SUBSCRIPT HEX: 73627573
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT HEX: 73707573
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SWASH HEX: 68737773
+CONSTANT: DWRITE_FONT_FEATURE_TAG_TITLING HEX: 6c746974
+CONSTANT: DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS HEX: 6d616e74
+CONSTANT: DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES HEX: 6d756e74
+CONSTANT: DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS HEX: 64617274
+CONSTANT: DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS HEX: 64697774
+CONSTANT: DWRITE_FONT_FEATURE_TAG_UNICASE HEX: 63696e75
+CONSTANT: DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO HEX: 6f72657a
+
+STRUCT: DWRITE_TEXT_RANGE
+ { startPosition UINT32 }
+ { length UINT32 } ;
+
+STRUCT: DWRITE_FONT_FEATURE
+ { nameTag DWRITE_FONT_FEATURE_TAG }
+ { parameter UINT32 } ;
+
+STRUCT: DWRITE_TYPOGRAPHIC_FEATURES
+ { features DWRITE_FONT_FEATURE* }
+ { featureCount UINT32 } ;
+
+STRUCT: DWRITE_TRIMMING
+ { granularity DWRITE_TRIMMING_GRANULARITY }
+ { delimiter UINT32 }
+ { delimiterCount UINT32 } ;
+
+C-TYPE: IDWriteTypography
+C-TYPE: IDWriteInlineObject
+
+COM-INTERFACE: IDWriteTextFormat IUnknown {9c906818-31d7-4fd3-a151-7c5e225db55a}
+ HRESULT SetTextAlignment ( DWRITE_TEXT_ALIGNMENT textAlignment )
+ HRESULT SetParagraphAlignment ( DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment )
+ HRESULT SetWordWrapping ( DWRITE_WORD_WRAPPING wordWrapping )
+ HRESULT SetReadingDirection ( DWRITE_READING_DIRECTION readingDirection )
+ HRESULT SetFlowDirection ( DWRITE_FLOW_DIRECTION flowDirection )
+ HRESULT SetIncrementalTabStop ( FLOAT incrementalTabStop )
+ HRESULT SetTrimming ( DWRITE_TRIMMING* trimmingOptions, IDWriteInlineObject* trimmingSign )
+ HRESULT SetLineSpacing ( DWRITE_LINE_SPACING_METHOD lineSpacingMethod, FLOAT lineSpacing, FLOAT baseline )
+ DWRITE_TEXT_ALIGNMENT GetTextAlignment ( )
+ DWRITE_PARAGRAPH_ALIGNMENT GetParagraphAlignment ( )
+ DWRITE_WORD_WRAPPING GetWordWrapping ( )
+ DWRITE_READING_DIRECTION GetReadingDirection ( )
+ DWRITE_FLOW_DIRECTION GetFlowDirection ( )
+ FLOAT GetIncrementalTabStop ( )
+ HRESULT GetTrimming ( DWRITE_TRIMMING* trimmingOptions, IDWriteInlineObject** trimmingSign )
+ HRESULT GetLineSpacing ( DWRITE_LINE_SPACING_METHOD* lineSpacingMethod, FLOAT* lineSpacing, FLOAT* baseline )
+ HRESULT GetFontCollection ( IDWriteFontCollection** fontCollection )
+ UINT32 GetFontFamilyNameLength ( )
+ HRESULT GetFontFamilyName ( WCHAR* fontFamilyName, UINT32 nameSize )
+ DWRITE_FONT_WEIGHT GetFontWeight ( )
+ DWRITE_FONT_STYLE GetFontStyle ( )
+ DWRITE_FONT_STRETCH GetFontStretch ( )
+ FLOAT GetFontSize ( )
+ UINT32 GetLocaleNameLength ( )
+ HRESULT GetLocaleName ( WCHAR* localeName, UINT32 nameSize ) ;
+
+COM-INTERFACE: IDWriteTypography IUnknown {55f1112b-1dc2-4b3c-9541-f46894ed85b6}
+ HRESULT AddFontFeature ( DWRITE_FONT_FEATURE fontFeature )
+ UINT32 GetFontFeatureCount ( )
+ HRESULT GetFontFeature ( UINT32 fontFeatureIndex, DWRITE_FONT_FEATURE* fontFeature ) ;
+
+CONSTANT: DWRITE_SCRIPT_SHAPES_DEFAULT 0
+CONSTANT: DWRITE_SCRIPT_SHAPES_NO_VISUAL 1
+TYPEDEF: int DWRITE_SCRIPT_SHAPES
+
+STRUCT: DWRITE_SCRIPT_ANALYSIS
+ { script USHORT }
+ { shapes DWRITE_SCRIPT_SHAPES } ;
+
+C-ENUM:
+ DWRITE_BREAK_CONDITION_NEUTRAL
+ DWRITE_BREAK_CONDITION_CAN_BREAK
+ DWRITE_BREAK_CONDITION_MAY_NOT_BREAK
+ DWRITE_BREAK_CONDITION_MUST_BREAK ;
+TYPEDEF: int DWRITE_BREAK_CONDITION
+
+STRUCT: DWRITE_LINE_BREAKPOINT
+ { data BYTE } ;
+
+C-ENUM:
+ DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE
+ DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL
+ DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE
+ DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL
+ DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL ;
+TYPEDEF: int DWRITE_NUMBER_SUBSTITUTION_METHOD
+
+COM-INTERFACE: IDWriteNumberSubstitution IUnknown {14885CC9-BAB0-4f90-B6ED-5C366A2CD03D} ;
+
+STRUCT: DWRITE_SHAPING_TEXT_PROPERTIES
+ { data USHORT } ;
+
+STRUCT: DWRITE_SHAPING_GLYPH_PROPERTIES
+ { data USHORT } ;
+
+COM-INTERFACE: IDWriteTextAnalysisSource IUnknown {688e1a58-5094-47c8-adc8-fbcea60ae92b}
+ HRESULT GetTextAtPosition ( UINT32 textPosition, WCHAR** textString, UINT32* textLength )
+ HRESULT GetTextBeforePosition ( UINT32 textPosition, WCHAR** textString, UINT32* textLength )
+ DWRITE_READING_DIRECTION GetParagraphReadingDirection ( )
+ HRESULT GetLocaleName ( UINT32 textPosition, UINT32* textLength, WCHAR** localeName )
+ HRESULT GetNumberSubstitution ( UINT32 textPosition, UINT32* textLength, IDWriteNumberSubstitution** numberSubstitution ) ;
+
+COM-INTERFACE: IDWriteTextAnalysisSink IUnknown {5810cd44-0ca0-4701-b3fa-bec5182ae4f6}
+ HRESULT SetScriptAnalysis ( UINT32 textPosition, UINT32 textLength, DWRITE_SCRIPT_ANALYSIS* scriptAnalysis )
+ HRESULT SetLineBreakpoints ( UINT32 textPosition, UINT32 textLength, DWRITE_LINE_BREAKPOINT* lineBreakpoints )
+ HRESULT SetBidiLevel ( UINT32 textPosition, UINT32 textLength, BYTE explicitLevel, BYTE resolvedLevel )
+ HRESULT SetNumberSubstitution ( UINT32 textPosition, UINT32 textLength, IDWriteNumberSubstitution* numberSubstitution ) ;
+
+COM-INTERFACE: IDWriteTextAnalyzer IUnknown {b7e6163e-7f46-43b4-84b3-e4e6249c365d}
+ HRESULT AnalyzeScript ( IDWriteTextAnalysisSource* analysisSource, UINT32 textPosition, UINT32 textLength, IDWriteTextAnalysisSink* analysisSink )
+ HRESULT AnalyzeBidi ( IDWriteTextAnalysisSource* analysisSource, UINT32 textPosition, UINT32 textLength, IDWriteTextAnalysisSink* analysisSink )
+ HRESULT AnalyzeNumberSubstitution ( IDWriteTextAnalysisSource* analysisSource, UINT32 textPosition, UINT32 textLength, IDWriteTextAnalysisSink* analysisSink )
+ HRESULT AnalyzeLineBreakpoints ( IDWriteTextAnalysisSource* analysisSource, UINT32 textPosition, UINT32 textLength, IDWriteTextAnalysisSink* analysisSink )
+ HRESULT GetGlyphs ( WCHAR* textString, UINT32 textLength, IDWriteFontFace* fontFace, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS* scriptAnalysis, WCHAR* localeName, IDWriteNumberSubstitution* numberSubstitution, DWRITE_TYPOGRAPHIC_FEATURES** features, UINT32* featureRangeLengths, UINT32 featureRanges, UINT32 maxGlyphCount, USHORT* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, USHORT* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps, UINT32* actualGlyphCount )
+ HRESULT GetGlyphPlacements ( WCHAR* textString, USHORT* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, UINT32 textLength, USHORT* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps, UINT32 glyphCount, IDWriteFontFace* fontFace, FLOAT fontEmSize, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS* scriptAnalysis, WCHAR* localeName, DWRITE_TYPOGRAPHIC_FEATURES** features, UINT32* featureRangeLengths, UINT32 featureRanges, FLOAT* glyphAdvances, DWRITE_GLYPH_OFFSET* glyphOffsets )
+ HRESULT GetGdiCompatibleGlyphPlacements ( WCHAR* textString, USHORT* clusterMap, DWRITE_SHAPING_TEXT_PROPERTIES* textProps, UINT32 textLength, USHORT* glyphIndices, DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps, UINT32 glyphCount, IDWriteFontFace* fontFace, FLOAT fontEmSize, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, BOOL useGdiNatural, BOOL isSideways, BOOL isRightToLeft, DWRITE_SCRIPT_ANALYSIS* scriptAnalysis, WCHAR* localeName, DWRITE_TYPOGRAPHIC_FEATURES** features, UINT32* featureRangeLengths, UINT32 featureRanges, FLOAT* glyphAdvances, DWRITE_GLYPH_OFFSET* glyphOffsets ) ;
+
+STRUCT: DWRITE_GLYPH_RUN
+ { fontFace IDWriteFontFace* }
+ { fontEmSize FLOAT }
+ { glyphCount UINT32 }
+ { glyphIndices USHORT* }
+ { glyphAdvances FLOAT* }
+ { glyphOffsets DWRITE_GLYPH_OFFSET* }
+ { isSideways BOOL }
+ { bidiLevel UINT32 } ;
+
+STRUCT: DWRITE_GLYPH_RUN_DESCRIPTION
+ { localeName WCHAR* }
+ { string WCHAR* }
+ { stringLength UINT32 }
+ { clusterMap USHORT* }
+ { textPosition UINT32 } ;
+
+STRUCT: DWRITE_UNDERLINE
+ { width FLOAT }
+ { thickness FLOAT }
+ { offset FLOAT }
+ { runHeight FLOAT }
+ { readingDirection DWRITE_READING_DIRECTION }
+ { flowDirection DWRITE_FLOW_DIRECTION }
+ { localeName WCHAR* }
+ { measuringMode DWRITE_MEASURING_MODE } ;
+
+STRUCT: DWRITE_STRIKETHROUGH
+ { width FLOAT }
+ { thickness FLOAT }
+ { offset FLOAT }
+ { readingDirection DWRITE_READING_DIRECTION }
+ { flowDirection DWRITE_FLOW_DIRECTION }
+ { localeName WCHAR* }
+ { measuringMode DWRITE_MEASURING_MODE } ;
+
+STRUCT: DWRITE_LINE_METRICS
+ { length UINT32 }
+ { trailingWhitespaceLength UINT32 }
+ { newlineLength UINT32 }
+ { height FLOAT }
+ { baseline FLOAT }
+ { isTrimmed BOOL } ;
+
+STRUCT: DWRITE_CLUSTER_METRICS
+ { width FLOAT }
+ { length USHORT }
+ { data USHORT } ;
+
+STRUCT: DWRITE_TEXT_METRICS
+ { left FLOAT }
+ { top FLOAT }
+ { width FLOAT }
+ { widthIncludingTrailingWhitespace FLOAT }
+ { height FLOAT }
+ { layoutWidth FLOAT }
+ { layoutHeight FLOAT }
+ { maxBidiReorderingDepth UINT32 }
+ { lineCount UINT32 } ;
+
+STRUCT: DWRITE_INLINE_OBJECT_METRICS
+ { width FLOAT }
+ { height FLOAT }
+ { baseline FLOAT }
+ { supportsSideways BOOL } ;
+
+STRUCT: DWRITE_OVERHANG_METRICS
+ { left FLOAT }
+ { top FLOAT }
+ { right FLOAT }
+ { bottom FLOAT } ;
+
+STRUCT: DWRITE_HIT_TEST_METRICS
+ { textPosition UINT32 }
+ { length UINT32 }
+ { left FLOAT }
+ { top FLOAT }
+ { width FLOAT }
+ { height FLOAT }
+ { bidiLevel UINT32 }
+ { isText BOOL }
+ { isTrimmed BOOL } ;
+
+C-TYPE: IDWriteTextRenderer
+
+COM-INTERFACE: IDWriteInlineObject IUnknown {8339FDE3-106F-47ab-8373-1C6295EB10B3}
+ HRESULT Draw ( void* clientDrawingContext, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY, BOOL isSideways, BOOL isRightToLeft, IUnknown* clientDrawingEffect )
+ HRESULT GetMetrics ( DWRITE_INLINE_OBJECT_METRICS* metrics )
+ HRESULT GetOverhangMetrics ( DWRITE_OVERHANG_METRICS* overhangs )
+ HRESULT GetBreakConditions ( DWRITE_BREAK_CONDITION* breakConditionBefore, DWRITE_BREAK_CONDITION* breakConditionAfter ) ;
+
+COM-INTERFACE: IDWritePixelSnapping IUnknown {eaf3a2da-ecf4-4d24-b644-b34f6842024b}
+ HRESULT IsPixelSnappingDisabled ( void* clientDrawingContext, BOOL* isDisabled )
+ HRESULT GetCurrentTransform ( void* clientDrawingContext, DWRITE_MATRIX* transform )
+ HRESULT GetPixelsPerDip ( void* clientDrawingContext, FLOAT* pixelsPerDip ) ;
+
+COM-INTERFACE: IDWriteTextRenderer IDWritePixelSnapping {ef8a8135-5cc6-45fe-8825-c5a0724eb819}
+ HRESULT DrawGlyphRun ( void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, DWRITE_GLYPH_RUN* glyphRun, DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription, IUnknown* clientDrawingEffect )
+ HRESULT DrawUnderline ( void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_UNDERLINE* underline, IUnknown* clientDrawingEffect )
+ HRESULT DrawStrikethrough ( void* clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_STRIKETHROUGH* strikethrough, IUnknown* clientDrawingEffect )
+ HRESULT DrawInlineObject ( void* clientDrawingContext, FLOAT originX, FLOAT originY, IDWriteInlineObject* inlineObject, BOOL isSideways, BOOL isRightToLeft, IUnknown* clientDrawingEffect ) ;
+
+COM-INTERFACE: IDWriteTextLayout IDWriteTextFormat {53737037-6d14-410b-9bfe-0b182bb70961}
+ HRESULT SetMaxWidth ( FLOAT maxWidth )
+ HRESULT SetMaxHeight ( FLOAT maxHeight )
+ HRESULT SetFontCollection ( IDWriteFontCollection* fontCollection, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetFontFamilyName ( WCHAR* fontFamilyName, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetFontWeight ( DWRITE_FONT_WEIGHT fontWeight, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetFontStyle ( DWRITE_FONT_STYLE fontStyle, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetFontStretch ( DWRITE_FONT_STRETCH fontStretch, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetFontSize ( FLOAT fontSize, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetUnderline ( BOOL hasUnderline, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetStrikethrough ( BOOL hasStrikethrough, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetDrawingEffect ( IUnknown* drawingEffect, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetInlineObject ( IDWriteInlineObject* inlineObject, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetTypography ( IDWriteTypography* typography, DWRITE_TEXT_RANGE textRange )
+ HRESULT SetLocaleName ( WCHAR* localeName, DWRITE_TEXT_RANGE textRange )
+ FLOAT GetMaxWidth ( )
+ FLOAT GetMaxHeight ( )
+ HRESULT GetFontCollection2 ( UINT32 currentPosition, IDWriteFontCollection** fontCollection, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetFontFamilyNameLength2 ( UINT32 currentPosition, UINT32* nameLength, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetFontFamilyName2 ( UINT32 currentPosition, WCHAR* fontFamilyName, UINT32 nameSize, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetFontWeight2 ( UINT32 currentPosition, DWRITE_FONT_WEIGHT* fontWeight, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetFontStyle2 ( UINT32 currentPosition, DWRITE_FONT_STYLE* fontStyle, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetFontStretch2 ( UINT32 currentPosition, DWRITE_FONT_STRETCH* fontStretch, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetFontSize2 ( UINT32 currentPosition, FLOAT* fontSize, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetUnderline ( UINT32 currentPosition, BOOL* hasUnderline, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetStrikethrough ( UINT32 currentPosition, BOOL* hasStrikethrough, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetDrawingEffect ( UINT32 currentPosition, IUnknown** drawingEffect, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetInlineObject ( UINT32 currentPosition, IDWriteInlineObject** inlineObject, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetTypography ( UINT32 currentPosition, IDWriteTypography** typography, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetLocaleNameLength2 ( UINT32 currentPosition, UINT32* nameLength, DWRITE_TEXT_RANGE* textRange )
+ HRESULT GetLocaleName2 ( UINT32 currentPosition, WCHAR* localeName, UINT32 nameSize, DWRITE_TEXT_RANGE* textRange )
+ HRESULT Draw ( void* clientDrawingContext, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY )
+ HRESULT GetLineMetrics ( DWRITE_LINE_METRICS* lineMetrics, UINT32 maxLineCount, UINT32* actualLineCount )
+ HRESULT GetMetrics ( DWRITE_TEXT_METRICS* textMetrics )
+ HRESULT GetOverhangMetrics ( DWRITE_OVERHANG_METRICS* overhangs )
+ HRESULT GetClusterMetrics ( DWRITE_CLUSTER_METRICS* clusterMetrics, UINT32 maxClusterCount, UINT32* actualClusterCount )
+ HRESULT DetermineMinWidth ( FLOAT* minWidth )
+ HRESULT HitTestPoint ( FLOAT pointX, FLOAT pointY, BOOL* isTrailingHit, BOOL* isInside, DWRITE_HIT_TEST_METRICS* hitTestMetrics )
+ HRESULT HitTestTextPosition ( UINT32 textPosition, BOOL isTrailingHit, FLOAT* pointX, FLOAT* pointY, DWRITE_HIT_TEST_METRICS* hitTestMetrics )
+ HRESULT HitTestTextRange ( UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS* hitTestMetrics, UINT32 maxHitTestMetricsCount, UINT32* actualHitTestMetricsCount ) ;
+
+COM-INTERFACE: IDWriteBitmapRenderTarget IUnknown {5e5a32a3-8dff-4773-9ff6-0696eab77267}
+ HRESULT DrawGlyphRun ( FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, DWRITE_GLYPH_RUN* glyphRun, IDWriteRenderingParams* renderingParams, COLORREF textColor, RECT* blackBoxRect )
+ HDC GetMemoryDC ( )
+ FLOAT GetPixelsPerDip ( )
+ HRESULT SetPixelsPerDip ( FLOAT pixelsPerDip )
+ HRESULT GetCurrentTransform ( DWRITE_MATRIX* transform )
+ HRESULT SetCurrentTransform ( DWRITE_MATRIX* transform )
+ HRESULT GetSize ( SIZE* size )
+ HRESULT Resize ( UINT32 width, UINT32 height ) ;
+
+C-TYPE: LOGFONTW
+
+COM-INTERFACE: IDWriteGdiInterop IUnknown {1edd9491-9853-4299-898f-6432983b6f3a}
+ HRESULT CreateFontFromLOGFONT ( LOGFONTW* logFont, IDWriteFont** font )
+ HRESULT ConvertFontToLOGFONT ( IDWriteFont* font, LOGFONTW* logFont, BOOL* isSystemFont )
+ HRESULT ConvertFontFaceToLOGFONT ( IDWriteFontFace* font, LOGFONTW* logFont )
+ HRESULT CreateFontFaceFromHdc ( HDC hdc, IDWriteFontFace** fontFace )
+ HRESULT CreateBitmapRenderTarget ( HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget** renderTarget ) ;
+
+C-ENUM: DWRITE_TEXTURE_ALIASED_1x1
+ DWRITE_TEXTURE_CLEARTYPE_3x1 ;
+TYPEDEF: int DWRITE_TEXTURE_TYPE
+
+CONSTANT: DWRITE_ALPHA_MAX 255
+
+COM-INTERFACE: IDWriteGlyphRunAnalysis IUnknown {7d97dbf7-e085-42d4-81e3-6a883bded118}
+ HRESULT GetAlphaTextureBounds ( DWRITE_TEXTURE_TYPE textureType, RECT* textureBounds )
+ HRESULT CreateAlphaTexture ( DWRITE_TEXTURE_TYPE textureType, RECT* textureBounds, BYTE* alphaValues, UINT32 bufferSize )
+ HRESULT GetAlphaBlendParams ( IDWriteRenderingParams* renderingParams, FLOAT* blendGamma, FLOAT* blendEnhancedContrast, FLOAT* blendClearTypeLevel ) ;
+
+COM-INTERFACE: IDWriteFactory IUnknown {b859ee5a-d838-4b5b-a2e8-1adc7d93db48}
+ HRESULT GetSystemFontCollection ( IDWriteFontCollection** fontCollection, BOOL checkForUpdates )
+ HRESULT CreateCustomFontCollection ( IDWriteFontCollectionLoader* collectionLoader, void* collectionKey, UINT32 collectionKeySize, IDWriteFontCollection** fontCollection )
+ HRESULT RegisterFontCollectionLoader ( IDWriteFontCollectionLoader* fontCollectionLoader )
+ HRESULT UnregisterFontCollectionLoader ( IDWriteFontCollectionLoader* fontCollectionLoader )
+ HRESULT CreateFontFileReference ( WCHAR* filePath, FILETIME* lastWriteTime, IDWriteFontFile** fontFile )
+ HRESULT CreateCustomFontFileReference ( void* fontFileReferenceKey, UINT32 fontFileReferenceKeySize, IDWriteFontFileLoader* fontFileLoader, IDWriteFontFile** fontFile )
+ HRESULT CreateFontFace ( DWRITE_FONT_FACE_TYPE fontFaceType, UINT32 numberOfFiles, IDWriteFontFile** fontFiles, UINT32 faceIndex, DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags, IDWriteFontFace** fontFace )
+ HRESULT CreateRenderingParams ( IDWriteRenderingParams** renderingParams )
+ HRESULT CreateMonitorRenderingParams ( HMONITOR monitor, IDWriteRenderingParams** renderingParams )
+ HRESULT CreateCustomRenderingParams ( FLOAT gamma, FLOAT enhancedContrast, FLOAT clearTypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, IDWriteRenderingParams** renderingParams )
+ HRESULT RegisterFontFileLoader ( IDWriteFontFileLoader* fontFileLoader )
+ HRESULT UnregisterFontFileLoader ( IDWriteFontFileLoader* fontFileLoader )
+ HRESULT CreateTextFormat ( WCHAR* fontFamilyName, IDWriteFontCollection* fontCollection, DWRITE_FONT_WEIGHT fontWeight, DWRITE_FONT_STYLE fontStyle, DWRITE_FONT_STRETCH fontStretch, FLOAT fontSize, WCHAR* localeName, IDWriteTextFormat** textFormat )
+ HRESULT CreateTypography ( IDWriteTypography** typography )
+ HRESULT GetGdiInterop ( IDWriteGdiInterop** gdiInterop )
+ HRESULT CreateTextLayout ( WCHAR* string, UINT32 stringLength, IDWriteTextFormat* textFormat, FLOAT maxWidth, FLOAT maxHeight, IDWriteTextLayout** textLayout )
+ HRESULT CreateGdiCompatibleTextLayout ( WCHAR* string, UINT32 stringLength, IDWriteTextFormat* textFormat, FLOAT layoutWidth, FLOAT layoutHeight, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, BOOL useGdiNatural, IDWriteTextLayout** textLayout )
+ HRESULT CreateEllipsisTrimmingSign ( IDWriteTextFormat* textFormat, IDWriteInlineObject** trimmingSign )
+ HRESULT CreateTextAnalyzer ( IDWriteTextAnalyzer** textAnalyzer )
+ HRESULT CreateNumberSubstitution ( DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod, WCHAR* localeName, BOOL ignoreUserOverride, IDWriteNumberSubstitution** numberSubstitution )
+ HRESULT CreateGlyphRunAnalysis ( DWRITE_GLYPH_RUN* glyphRun, FLOAT pixelsPerDip, DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, FLOAT baselineOriginX, FLOAT baselineOriginY, IDWriteGlyphRunAnalysis** glyphRunAnalysis ) ;
+
+FUNCTION: HRESULT DWriteCreateFactory (
+ DWRITE_FACTORY_TYPE factoryType,
+ REFIID iid,
+ IUnknown** factory ) ;
+
+CONSTANT: DWRITE_E_FILEFORMAT HEX: 88985000
+CONSTANT: DWRITE_E_UNEXPECTED HEX: 88985001
+CONSTANT: DWRITE_E_NOFONT HEX: 88985002
+CONSTANT: DWRITE_E_FILENOTFOUND HEX: 88985003
+CONSTANT: DWRITE_E_FILEACCESS HEX: 88985004
+CONSTANT: DWRITE_E_FONTCOLLECTIONOBSOLETE HEX: 88985005
+CONSTANT: DWRITE_E_ALREADYREGISTERED HEX: 88985006
--- /dev/null
+Bindings to DirectWrite text rendering. Corresponds to dwrite.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.syntax classes.struct windows.com
+windows.com.syntax windows.kernel32 windows.ole32 windows.types ;
+IN: windows.directx.dxfile
+
+LIBRARY: d3dxof
+
+TYPEDEF: DWORD DXFILEFORMAT
+
+CONSTANT: DXFILEFORMAT_BINARY 0
+CONSTANT: DXFILEFORMAT_TEXT 1
+CONSTANT: DXFILEFORMAT_COMPRESSED 2
+
+TYPEDEF: DWORD DXFILELOADOPTIONS
+
+CONSTANT: DXFILELOAD_FROMFILE 0
+CONSTANT: DXFILELOAD_FROMRESOURCE 1
+CONSTANT: DXFILELOAD_FROMMEMORY 2
+CONSTANT: DXFILELOAD_FROMSTREAM 4
+CONSTANT: DXFILELOAD_FROMURL 8
+
+STRUCT: DXFILELOADRESOURCE
+ { hModule HMODULE }
+ { lpName LPCTSTR }
+ { lpType LPCTSTR } ;
+TYPEDEF: DXFILELOADRESOURCE* LPDXFILELOADRESOURCE
+
+STRUCT: DXFILELOADMEMORY
+ { lpMemory LPVOID }
+ { dSize DWORD } ;
+TYPEDEF: DXFILELOADMEMORY* LPDXFILELOADMEMORY
+
+C-TYPE: IDirectXFile
+TYPEDEF: IDirectXFile* LPDIRECTXFILE
+TYPEDEF: IDirectXFile** LPLPDIRECTXFILE
+C-TYPE: IDirectXFileEnumObject
+TYPEDEF: IDirectXFileEnumObject* LPDIRECTXFILEENUMOBJECT
+TYPEDEF: IDirectXFileEnumObject** LPLPDIRECTXFILEENUMOBJECT
+C-TYPE: IDirectXFileSaveObject
+TYPEDEF: IDirectXFileSaveObject* LPDIRECTXFILESAVEOBJECT
+TYPEDEF: IDirectXFileSaveObject** LPLPDIRECTXFILESAVEOBJECT
+C-TYPE: IDirectXFileObject
+TYPEDEF: IDirectXFileObject* LPDIRECTXFILEOBJECT
+TYPEDEF: IDirectXFileObject** LPLPDIRECTXFILEOBJECT
+C-TYPE: IDirectXFileData
+TYPEDEF: IDirectXFileData* LPDIRECTXFILEDATA
+TYPEDEF: IDirectXFileData** LPLPDIRECTXFILEDATA
+C-TYPE: IDirectXFileDataReference
+TYPEDEF: IDirectXFileDataReference* LPDIRECTXFILEDATAREFERENCE
+TYPEDEF: IDirectXFileDataReference** LPLPDIRECTXFILEDATAREFERENCE
+C-TYPE: IDirectXFileBinary
+TYPEDEF: IDirectXFileBinary* LPDIRECTXFILEBINARY
+TYPEDEF: IDirectXFileBinary** LPLPDIRECTXFILEBINARY
+
+FUNCTION: HRESULT DirectXFileCreate ( LPDIRECTXFILE* lplpDirectXFile ) ;
+
+COM-INTERFACE: IDirectXFile IUnknown {3d82ab40-62da-11cf-ab39-0020af71e433}
+ HRESULT CreateEnumObject ( LPVOID v, DXFILELOADOPTIONS y,
+ LPDIRECTXFILEENUMOBJECT* z )
+ HRESULT CreateSaveObject ( LPCSTR v, DXFILEFORMAT y,
+ LPDIRECTXFILESAVEOBJECT* z )
+ HRESULT RegisterTemplates ( LPVOID x, DWORD y ) ;
+
+COM-INTERFACE: IDirectXFileEnumObject IUnknown {3d82ab41-62da-11cf-ab39-0020af71e433}
+ HRESULT GetNextDataObject ( LPDIRECTXFILEDATA* x )
+ HRESULT GetDataObjectById ( REFGUID x, LPDIRECTXFILEDATA* y )
+ HRESULT GetDataObjectByName ( LPCSTR x, LPDIRECTXFILEDATA* y ) ;
+
+COM-INTERFACE: IDirectXFileSaveObject IUnknown {3d82ab42-62da-11cf-ab39-0020af71e433}
+ HRESULT SaveTemplates ( DWORD x, GUID** y )
+ HRESULT CreateDataObject ( REFGUID x, LPCSTR y, GUID* z,
+ DWORD a, LPVOID b, LPDIRECTXFILEDATA* c )
+ HRESULT SaveData ( LPDIRECTXFILEDATA x ) ;
+
+COM-INTERFACE: IDirectXFileObject IUnknown {3d82ab43-62da-11cf-ab39-0020af71e433}
+ HRESULT GetName ( LPSTR x, LPDWORD y )
+ HRESULT GetId ( LPGUID y ) ;
+
+COM-INTERFACE: IDirectXFileData IDirectXFileObject {3d82ab44-62da-11cf-ab39-0020af71e433}
+ HRESULT GetData ( LPCSTR x, DWORD* y, void** z )
+ HRESULT GetType ( GUID** x )
+ HRESULT GetNextObject ( LPDIRECTXFILEOBJECT* x )
+ HRESULT AddDataObject ( LPDIRECTXFILEDATA y )
+ HRESULT AddDataReference ( LPCSTR x, GUID* y )
+ HRESULT AddBinaryObject ( LPCSTR x, GUID* y, LPCSTR z, LPVOID a, DWORD b ) ;
+
+COM-INTERFACE: IDirectXFileDataReference IDirectXFileObject {3d82ab45-62da-11cf-ab39-0020af71e433}
+ HRESULT Resolve ( LPDIRECTXFILEDATA* x ) ;
+
+COM-INTERFACE: IDirectXFileBinary IDirectXFileObject {3d82ab46-62da-11cf-ab39-0020af71e433}
+ HRESULT GetSize ( DWORD* x )
+ HRESULT GetMimeType ( LPCSTR* x )
+ HRESULT Read ( LPVOID x, DWORD y, LPDWORD z ) ;
+
+CONSTANT: DXFILE_OK 0
+
+CONSTANT: DXFILEERR_BADOBJECT HEX: 88760352
+CONSTANT: DXFILEERR_BADVALUE HEX: 88760353
+CONSTANT: DXFILEERR_BADTYPE HEX: 88760354
+CONSTANT: DXFILEERR_BADSTREAMHANDLE HEX: 88760355
+CONSTANT: DXFILEERR_BADALLOC HEX: 88760356
+CONSTANT: DXFILEERR_NOTFOUND HEX: 88760357
+CONSTANT: DXFILEERR_NOTDONEYET HEX: 88760358
+CONSTANT: DXFILEERR_FILENOTFOUND HEX: 88760359
+CONSTANT: DXFILEERR_RESOURCENOTFOUND HEX: 8876035A
+CONSTANT: DXFILEERR_URLNOTFOUND HEX: 8876035B
+CONSTANT: DXFILEERR_BADRESOURCE HEX: 8876035C
+CONSTANT: DXFILEERR_BADFILETYPE HEX: 8876035D
+CONSTANT: DXFILEERR_BADFILEVERSION HEX: 8876035E
+CONSTANT: DXFILEERR_BADFILEFLOATSIZE HEX: 8876035F
+CONSTANT: DXFILEERR_BADFILECOMPRESSIONTYPE HEX: 88760360
+CONSTANT: DXFILEERR_BADFILE HEX: 88760361
+CONSTANT: DXFILEERR_PARSEERROR HEX: 88760362
+CONSTANT: DXFILEERR_NOTEMPLATE HEX: 88760363
+CONSTANT: DXFILEERR_BADARRAYSIZE HEX: 88760364
+CONSTANT: DXFILEERR_BADDATAREFERENCE HEX: 88760365
+CONSTANT: DXFILEERR_INTERNALERROR HEX: 88760366
+CONSTANT: DXFILEERR_NOMOREOBJECTS HEX: 88760367
+CONSTANT: DXFILEERR_BADINTRINSICS HEX: 88760368
+CONSTANT: DXFILEERR_NOMORESTREAMHANDLES HEX: 88760369
+CONSTANT: DXFILEERR_NOMOREDATA HEX: 8876036A
+CONSTANT: DXFILEERR_BADCACHEFILE HEX: 8876036B
+CONSTANT: DXFILEERR_NOINTERNET HEX: 8876036C
--- /dev/null
+Bindings to DirectX file abstraction. Corresponds to dxfile.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com windows.com.syntax
+windows.directx.dxgiformat windows.directx.dxgitype windows.kernel32
+windows.ole32 windows.types ;
+IN: windows.directx.dxgi
+
+LIBRARY: dxgi
+
+CONSTANT: DXGI_CPU_ACCESS_NONE 0
+CONSTANT: DXGI_CPU_ACCESS_DYNAMIC 1
+CONSTANT: DXGI_CPU_ACCESS_READ_WRITE 2
+CONSTANT: DXGI_CPU_ACCESS_SCRATCH 3
+CONSTANT: DXGI_CPU_ACCESS_FIELD 15
+CONSTANT: DXGI_USAGE_SHADER_INPUT 16
+CONSTANT: DXGI_USAGE_RENDER_TARGET_OUTPUT 32
+CONSTANT: DXGI_USAGE_BACK_BUFFER 64
+CONSTANT: DXGI_USAGE_SHARED 128
+CONSTANT: DXGI_USAGE_READ_ONLY 256
+CONSTANT: DXGI_USAGE_DISCARD_ON_PRESENT 512
+CONSTANT: DXGI_USAGE_UNORDERED_ACCESS 1024
+TYPEDEF: UINT DXGI_USAGE
+
+STRUCT: DXGI_FRAME_STATISTICS
+{ PresentCount UINT }
+{ PresentRefreshCount UINT }
+{ SyncRefreshCount UINT }
+{ SyncQPCTime LARGE_INTEGER }
+{ SyncGPUTime LARGE_INTEGER } ;
+
+STRUCT: DXGI_MAPPED_RECT
+{ Pitch INT }
+{ pBits BYTE* } ;
+
+STRUCT: DXGI_ADAPTER_DESC
+{ Description WCHAR[128] }
+{ VendorId UINT }
+{ DeviceId UINT }
+{ SubSysId UINT }
+{ Revision UINT }
+{ DedicatedVideoMemory SIZE_T }
+{ DedicatedSystemMemory SIZE_T }
+{ SharedSystemMemory SIZE_T }
+{ AdapterLuid LUID } ;
+
+STRUCT: DXGI_OUTPUT_DESC
+{ DeviceName WCHAR[32] }
+{ DesktopCoordinates RECT }
+{ AttachedToDesktop BOOL }
+{ Rotation DXGI_MODE_ROTATION }
+{ Monitor HMONITOR } ;
+
+STRUCT: DXGI_SHARED_RESOURCE
+{ Handle HANDLE } ;
+
+CONSTANT: DXGI_RESOURCE_PRIORITY_MINIMUM HEX: 28000000
+CONSTANT: DXGI_RESOURCE_PRIORITY_LOW HEX: 50000000
+CONSTANT: DXGI_RESOURCE_PRIORITY_NORMAL HEX: 78000000
+CONSTANT: DXGI_RESOURCE_PRIORITY_HIGH HEX: a0000000
+CONSTANT: DXGI_RESOURCE_PRIORITY_MAXIMUM HEX: c8000000
+
+CONSTANT: DXGI_RESIDENCY_FULLY_RESIDENT 1
+CONSTANT: DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY 2
+CONSTANT: DXGI_RESIDENCY_EVICTED_TO_DISK 3
+TYPEDEF: int DXGI_RESIDENCY
+
+STRUCT: DXGI_SURFACE_DESC
+{ Width UINT }
+{ Height UINT }
+{ Format DXGI_FORMAT }
+{ SampleDesc DXGI_SAMPLE_DESC } ;
+
+CONSTANT: DXGI_SWAP_EFFECT_DISCARD 0
+CONSTANT: DXGI_SWAP_EFFECT_SEQUENTIAL 1
+TYPEDEF: int DXGI_SWAP_EFFECT
+
+CONSTANT: DXGI_SWAP_CHAIN_FLAG_NONPREROTATED 1
+CONSTANT: DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH 2
+CONSTANT: DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE 4
+TYPEDEF: int DXGI_SWAP_CHAIN_FLAG
+
+STRUCT: DXGI_SWAP_CHAIN_DESC
+{ BufferDesc DXGI_MODE_DESC }
+{ SampleDesc DXGI_SAMPLE_DESC }
+{ BufferUsage DXGI_USAGE }
+{ BufferCount UINT }
+{ OutputWindow HWND }
+{ Windowed BOOL }
+{ SwapEffect DXGI_SWAP_EFFECT }
+{ Flags UINT } ;
+
+COM-INTERFACE: IDXGIObject IUnknown {aec22fb8-76f3-4639-9be0-28eb43a67a2e}
+HRESULT SetPrivateData ( REFGUID Name, UINT DataSize, void* pData )
+HRESULT SetPrivateDataInterface ( REFGUID Name, IUnknown* pUnknown )
+HRESULT GetPrivateData ( REFGUID Name, UINT* pDataSize, void* pData )
+HRESULT GetParent ( REFIID riid, void** ppParent ) ;
+
+COM-INTERFACE: IDXGIDeviceSubObject IDXGIObject {3d3e0379-f9de-4d58-bb6c-18d62992f1a6}
+HRESULT GetDevice ( REFIID riid, void** ppDevice ) ;
+
+COM-INTERFACE: IDXGIResource IDXGIDeviceSubObject {035f3ab4-482e-4e50-b41f-8a7f8bd8960b}
+HRESULT GetSharedHandle ( HANDLE* pSharedHandle )
+HRESULT GetUsage ( DXGI_USAGE* pUsage )
+HRESULT SetEvictionPriority ( UINT EvictionPriority )
+HRESULT GetEvictionPriority ( UINT* pEvictionPriority ) ;
+
+COM-INTERFACE: IDXGIKeyedMutex IDXGIDeviceSubObject {9d8e1289-d7b3-465f-8126-250e349af85d}
+HRESULT AcquireSync ( UINT64 Key, DWORD dwMilliseconds )
+HRESULT ReleaseSync ( UINT64 Key ) ;
+
+CONSTANT: DXGI_MAP_READ 1
+CONSTANT: DXGI_MAP_WRITE 2
+CONSTANT: DXGI_MAP_DISCARD 4
+
+COM-INTERFACE: IDXGISurface IDXGIDeviceSubObject {cafcb56c-6ac3-4889-bf47-9e23bbd260ec}
+HRESULT GetDesc ( DXGI_SURFACE_DESC* pDesc )
+HRESULT Map ( DXGI_MAPPED_RECT* pLockedRect, UINT MapFlags )
+HRESULT Unmap ( ) ;
+
+COM-INTERFACE: IDXGISurface1 IDXGISurface {4AE63092-6327-4c1b-80AE-BFE12EA32B86}
+HRESULT GetDC ( BOOL Discard, HDC* phdc )
+HRESULT ReleaseDC ( RECT* pDirtyRect ) ;
+
+COM-INTERFACE: IDXGIAdapter IDXGIObject {2411e7e1-12ac-4ccf-bd14-9798e8534dc0}
+HRESULT EnumOutputs ( UINT Output, IDXGIOutput** ppOutput )
+HRESULT GetDesc ( DXGI_ADAPTER_DESC* pDesc )
+HRESULT CheckInterfaceSupport ( REFGUID InterfaceName, LARGE_INTEGER* pUMDVersion ) ;
+
+CONSTANT: DXGI_ENUM_MODES_INTERLACED 1
+CONSTANT: DXGI_ENUM_MODES_SCALING 2
+
+COM-INTERFACE: IDXGIOutput IDXGIObject {ae02eedb-c735-4690-8d52-5a8dc20213aa}
+HRESULT GetDesc ( DXGI_OUTPUT_DESC* pDesc )
+HRESULT GetDisplayModeList ( DXGI_FORMAT EnumFormat, UINT Flags, UINT* pNumModes, DXGI_MODE_DESC* pDesc )
+HRESULT FindClosestMatchingMode ( DXGI_MODE_DESC* pModeToMatch, DXGI_MODE_DESC* pClosestMatch, IUnknown* pConcernedDevice )
+HRESULT WaitForVBlank ( )
+HRESULT TakeOwnership ( IUnknown* pDevice, BOOL Exclusive )
+void ReleaseOwnership ( )
+HRESULT GetGammaControlCapabilities ( DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps )
+HRESULT SetGammaControl ( DXGI_GAMMA_CONTROL* pArray )
+HRESULT GetGammaControl ( DXGI_GAMMA_CONTROL* pArray )
+HRESULT SetDisplaySurface ( IDXGISurface* pScanoutSurface )
+HRESULT GetDisplaySurfaceData ( IDXGISurface* pDestination )
+HRESULT GetFrameStatistics ( DXGI_FRAME_STATISTICS* pStats ) ;
+
+CONSTANT: DXGI_MAX_SWAP_CHAIN_BUFFERS 16
+CONSTANT: DXGI_PRESENT_TEST 1
+CONSTANT: DXGI_PRESENT_DO_NOT_SEQUENCE 2
+CONSTANT: DXGI_PRESENT_RESTART 4
+
+COM-INTERFACE: IDXGISwapChain IDXGIDeviceSubObject {310d36a0-d2e7-4c0a-aa04-6a9d23b8886a}
+HRESULT Present ( UINT SyncInterval, UINT Flags )
+HRESULT GetBuffer ( UINT Buffer, REFIID riid, void** ppSurface )
+HRESULT SetFullscreenState ( BOOL Fullscreen, IDXGIOutput* pTarget )
+HRESULT GetFullscreenState ( BOOL* pFullscreen, IDXGIOutput** ppTarget )
+HRESULT GetDesc ( DXGI_SWAP_CHAIN_DESC* pDesc )
+HRESULT ResizeBuffers ( UINT BufferCount, UINT Width, UINT Height, DXGI_FORMAT NewFormat, UINT SwapChainFlags )
+HRESULT ResizeTarget ( DXGI_MODE_DESC* pNewTargetParameters )
+HRESULT GetContainingOutput ( IDXGIOutput** ppOutput )
+HRESULT GetFrameStatistics ( DXGI_FRAME_STATISTICS* pStats )
+HRESULT GetLastPresentCount ( UINT* pLastPresentCount ) ;
+
+CONSTANT: DXGI_MWA_NO_WINDOW_CHANGES 1
+CONSTANT: DXGI_MWA_NO_ALT_ENTER 2
+CONSTANT: DXGI_MWA_NO_PRINT_SCREEN 4
+CONSTANT: DXGI_MWA_VALID 7
+
+COM-INTERFACE: IDXGIFactory IDXGIObject {7b7166ec-21c7-44ae-b21a-c9ae321ae369}
+HRESULT EnumAdapters ( UINT Adapter, IDXGIAdapter** ppAdapter )
+HRESULT MakeWindowAssociation ( HWND WindowHandle, UINT Flags )
+HRESULT GetWindowAssociation ( HWND* pWindowHandle )
+HRESULT CreateSwapChain ( IUnknown* pDevice, DXGI_SWAP_CHAIN_DESC* pDesc, IDXGISwapChain** ppSwapChain )
+HRESULT CreateSoftwareAdapter ( HMODULE Module, IDXGIAdapter** ppAdapter ) ;
+
+FUNCTION: HRESULT CreateDXGIFactory ( REFIID riid, void** ppFactory ) ;
+FUNCTION: HRESULT CreateDXGIFactory1 ( REFIID riid, void** ppFactory ) ;
+
+COM-INTERFACE: IDXGIDevice IDXGIObject {54ec77fa-1377-44e6-8c32-88fd5f44c84c}
+HRESULT GetAdapter ( IDXGIAdapter** pAdapter )
+HRESULT CreateSurface ( DXGI_SURFACE_DESC* pDesc, UINT NumSurfaces, DXGI_USAGE Usage, DXGI_SHARED_RESOURCE* pSharedResource, IDXGISurface** ppSurface )
+HRESULT QueryResourceResidency ( IUnknown** ppResources, DXGI_RESIDENCY* pResidencyStatus, UINT NumResources )
+HRESULT SetGPUThreadPriority ( INT Priority )
+HRESULT GetGPUThreadPriority ( INT* pPriority ) ;
+
+CONSTANT: DXGI_ADAPTER_FLAG_NONE 0
+CONSTANT: DXGI_ADAPTER_FLAG_REMOTE 1
+CONSTANT: DXGI_ADAPTER_FLAG_FORCE_DWORD HEX: ffffffff
+TYPEDEF: int DXGI_ADAPTER_FLAG
+
+STRUCT: DXGI_ADAPTER_DESC1
+{ Description WCHAR[128] }
+{ VendorId UINT }
+{ DeviceId UINT }
+{ SubSysId UINT }
+{ Revision UINT }
+{ DedicatedVideoMemory SIZE_T }
+{ DedicatedSystemMemory SIZE_T }
+{ SharedSystemMemory SIZE_T }
+{ AdapterLuid LUID }
+{ Flags UINT } ;
+
+STRUCT: DXGI_DISPLAY_COLOR_SPACE
+{ PrimaryCoordinates FLOAT[8][2] }
+{ WhitePoints FLOAT[16][2] } ;
+
+COM-INTERFACE: IDXGIFactory1 IDXGIFactory {770aae78-f26f-4dba-a829-253c83d1b387}
+HRESULT EnumAdapters1 ( UINT Adapter, IDXGIAdapter1** ppAdapter )
+BOOL IsCurrent ( ) ;
+
+COM-INTERFACE: IDXGIAdapter1 IDXGIAdapter {29038f61-3839-4626-91fd-086879011a05}
+HRESULT GetDesc1 ( DXGI_ADAPTER_DESC1* pDesc ) ;
+
+COM-INTERFACE: IDXGIDevice1 IDXGIDevice {77db970f-6276-48ba-ba28-070143b4392c}
+HRESULT SetMaximumFrameLatency ( UINT MaxLatency )
+HRESULT GetMaximumFrameLatency ( UINT* pMaxLatency ) ;
--- /dev/null
+Bindings to the DirectX Graphics Infrastructure. Corresponds to DXGI.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax ;
+IN: windows.directx.dxgiformat
+
+CONSTANT: DXGI_FORMAT_UNKNOWN 0
+CONSTANT: DXGI_FORMAT_R32G32B32A32_TYPELESS 1
+CONSTANT: DXGI_FORMAT_R32G32B32A32_FLOAT 2
+CONSTANT: DXGI_FORMAT_R32G32B32A32_UINT 3
+CONSTANT: DXGI_FORMAT_R32G32B32A32_SINT 4
+CONSTANT: DXGI_FORMAT_R32G32B32_TYPELESS 5
+CONSTANT: DXGI_FORMAT_R32G32B32_FLOAT 6
+CONSTANT: DXGI_FORMAT_R32G32B32_UINT 7
+CONSTANT: DXGI_FORMAT_R32G32B32_SINT 8
+CONSTANT: DXGI_FORMAT_R16G16B16A16_TYPELESS 9
+CONSTANT: DXGI_FORMAT_R16G16B16A16_FLOAT 10
+CONSTANT: DXGI_FORMAT_R16G16B16A16_UNORM 11
+CONSTANT: DXGI_FORMAT_R16G16B16A16_UINT 12
+CONSTANT: DXGI_FORMAT_R16G16B16A16_SNORM 13
+CONSTANT: DXGI_FORMAT_R16G16B16A16_SINT 14
+CONSTANT: DXGI_FORMAT_R32G32_TYPELESS 15
+CONSTANT: DXGI_FORMAT_R32G32_FLOAT 16
+CONSTANT: DXGI_FORMAT_R32G32_UINT 17
+CONSTANT: DXGI_FORMAT_R32G32_SINT 18
+CONSTANT: DXGI_FORMAT_R32G8X24_TYPELESS 19
+CONSTANT: DXGI_FORMAT_D32_FLOAT_S8X24_UINT 20
+CONSTANT: DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS 21
+CONSTANT: DXGI_FORMAT_X32_TYPELESS_G8X24_UINT 22
+CONSTANT: DXGI_FORMAT_R10G10B10A2_TYPELESS 23
+CONSTANT: DXGI_FORMAT_R10G10B10A2_UNORM 24
+CONSTANT: DXGI_FORMAT_R10G10B10A2_UINT 25
+CONSTANT: DXGI_FORMAT_R11G11B10_FLOAT 26
+CONSTANT: DXGI_FORMAT_R8G8B8A8_TYPELESS 27
+CONSTANT: DXGI_FORMAT_R8G8B8A8_UNORM 28
+CONSTANT: DXGI_FORMAT_R8G8B8A8_UNORM_SRGB 29
+CONSTANT: DXGI_FORMAT_R8G8B8A8_UINT 30
+CONSTANT: DXGI_FORMAT_R8G8B8A8_SNORM 31
+CONSTANT: DXGI_FORMAT_R8G8B8A8_SINT 32
+CONSTANT: DXGI_FORMAT_R16G16_TYPELESS 33
+CONSTANT: DXGI_FORMAT_R16G16_FLOAT 34
+CONSTANT: DXGI_FORMAT_R16G16_UNORM 35
+CONSTANT: DXGI_FORMAT_R16G16_UINT 36
+CONSTANT: DXGI_FORMAT_R16G16_SNORM 37
+CONSTANT: DXGI_FORMAT_R16G16_SINT 38
+CONSTANT: DXGI_FORMAT_R32_TYPELESS 39
+CONSTANT: DXGI_FORMAT_D32_FLOAT 40
+CONSTANT: DXGI_FORMAT_R32_FLOAT 41
+CONSTANT: DXGI_FORMAT_R32_UINT 42
+CONSTANT: DXGI_FORMAT_R32_SINT 43
+CONSTANT: DXGI_FORMAT_R24G8_TYPELESS 44
+CONSTANT: DXGI_FORMAT_D24_UNORM_S8_UINT 45
+CONSTANT: DXGI_FORMAT_R24_UNORM_X8_TYPELESS 46
+CONSTANT: DXGI_FORMAT_X24_TYPELESS_G8_UINT 47
+CONSTANT: DXGI_FORMAT_R8G8_TYPELESS 48
+CONSTANT: DXGI_FORMAT_R8G8_UNORM 49
+CONSTANT: DXGI_FORMAT_R8G8_UINT 50
+CONSTANT: DXGI_FORMAT_R8G8_SNORM 51
+CONSTANT: DXGI_FORMAT_R8G8_SINT 52
+CONSTANT: DXGI_FORMAT_R16_TYPELESS 53
+CONSTANT: DXGI_FORMAT_R16_FLOAT 54
+CONSTANT: DXGI_FORMAT_D16_UNORM 55
+CONSTANT: DXGI_FORMAT_R16_UNORM 56
+CONSTANT: DXGI_FORMAT_R16_UINT 57
+CONSTANT: DXGI_FORMAT_R16_SNORM 58
+CONSTANT: DXGI_FORMAT_R16_SINT 59
+CONSTANT: DXGI_FORMAT_R8_TYPELESS 60
+CONSTANT: DXGI_FORMAT_R8_UNORM 61
+CONSTANT: DXGI_FORMAT_R8_UINT 62
+CONSTANT: DXGI_FORMAT_R8_SNORM 63
+CONSTANT: DXGI_FORMAT_R8_SINT 64
+CONSTANT: DXGI_FORMAT_A8_UNORM 65
+CONSTANT: DXGI_FORMAT_R1_UNORM 66
+CONSTANT: DXGI_FORMAT_R9G9B9E5_SHAREDEXP 67
+CONSTANT: DXGI_FORMAT_R8G8_B8G8_UNORM 68
+CONSTANT: DXGI_FORMAT_G8R8_G8B8_UNORM 69
+CONSTANT: DXGI_FORMAT_BC1_TYPELESS 70
+CONSTANT: DXGI_FORMAT_BC1_UNORM 71
+CONSTANT: DXGI_FORMAT_BC1_UNORM_SRGB 72
+CONSTANT: DXGI_FORMAT_BC2_TYPELESS 73
+CONSTANT: DXGI_FORMAT_BC2_UNORM 74
+CONSTANT: DXGI_FORMAT_BC2_UNORM_SRGB 75
+CONSTANT: DXGI_FORMAT_BC3_TYPELESS 76
+CONSTANT: DXGI_FORMAT_BC3_UNORM 77
+CONSTANT: DXGI_FORMAT_BC3_UNORM_SRGB 78
+CONSTANT: DXGI_FORMAT_BC4_TYPELESS 79
+CONSTANT: DXGI_FORMAT_BC4_UNORM 80
+CONSTANT: DXGI_FORMAT_BC4_SNORM 81
+CONSTANT: DXGI_FORMAT_BC5_TYPELESS 82
+CONSTANT: DXGI_FORMAT_BC5_UNORM 83
+CONSTANT: DXGI_FORMAT_BC5_SNORM 84
+CONSTANT: DXGI_FORMAT_B5G6R5_UNORM 85
+CONSTANT: DXGI_FORMAT_B5G5R5A1_UNORM 86
+CONSTANT: DXGI_FORMAT_B8G8R8A8_UNORM 87
+CONSTANT: DXGI_FORMAT_B8G8R8X8_UNORM 88
+CONSTANT: DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM 89
+CONSTANT: DXGI_FORMAT_B8G8R8A8_TYPELESS 90
+CONSTANT: DXGI_FORMAT_B8G8R8A8_UNORM_SRGB 91
+CONSTANT: DXGI_FORMAT_B8G8R8X8_TYPELESS 92
+CONSTANT: DXGI_FORMAT_B8G8R8X8_UNORM_SRGB 93
+CONSTANT: DXGI_FORMAT_BC6H_TYPELESS 94
+CONSTANT: DXGI_FORMAT_BC6H_UF16 95
+CONSTANT: DXGI_FORMAT_BC6H_SF16 96
+CONSTANT: DXGI_FORMAT_BC7_TYPELESS 97
+CONSTANT: DXGI_FORMAT_BC7_UNORM 98
+CONSTANT: DXGI_FORMAT_BC7_UNORM_SRGB 99
+CONSTANT: DXGI_FORMAT_FORCE_UINT HEX: ffffffff
+TYPEDEF: int DXGI_FORMAT
--- /dev/null
+Bindings to the DirectX Graphics Infrastructure. Corresponds to DXGIFormat.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct
+windows.directx.dxgiformat windows.types ;
+IN: windows.directx.dxgitype
+
+CONSTANT: DXGI_STATUS_OCCLUDED HEX: 087a0001
+CONSTANT: DXGI_STATUS_CLIPPED HEX: 087a0002
+CONSTANT: DXGI_STATUS_NO_REDIRECTION HEX: 087a0004
+CONSTANT: DXGI_STATUS_NO_DESKTOP_ACCESS HEX: 087a0005
+CONSTANT: DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE HEX: 087a0006
+CONSTANT: DXGI_STATUS_MODE_CHANGED HEX: 087a0007
+CONSTANT: DXGI_STATUS_MODE_CHANGE_IN_PROGRESS HEX: 087a0008
+
+CONSTANT: DXGI_ERROR_INVALID_CALL HEX: 887a0001
+CONSTANT: DXGI_ERROR_NOT_FOUND HEX: 887a0002
+CONSTANT: DXGI_ERROR_MORE_DATA HEX: 887a0003
+CONSTANT: DXGI_ERROR_UNSUPPORTED HEX: 887a0004
+CONSTANT: DXGI_ERROR_DEVICE_REMOVED HEX: 887a0005
+CONSTANT: DXGI_ERROR_DEVICE_HUNG HEX: 887a0006
+CONSTANT: DXGI_ERROR_DEVICE_RESET HEX: 887a0007
+CONSTANT: DXGI_ERROR_WAS_STILL_DRAWING HEX: 887a000a
+CONSTANT: DXGI_ERROR_FRAME_STATISTICS_DISJOINT HEX: 887a000b
+CONSTANT: DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE HEX: 887a000c
+CONSTANT: DXGI_ERROR_DRIVER_INTERNAL_ERROR HEX: 887a0020
+CONSTANT: DXGI_ERROR_NONEXCLUSIVE HEX: 887a0021
+CONSTANT: DXGI_ERROR_NOT_CURRENTLY_AVAILABLE HEX: 887a0022
+CONSTANT: DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED HEX: 887a0023
+CONSTANT: DXGI_ERROR_REMOTE_OUTOFMEMORY HEX: 887a0024
+
+STRUCT: DXGI_RGB
+{ Red FLOAT }
+{ Green FLOAT }
+{ Blue FLOAT } ;
+
+STRUCT: DXGI_GAMMA_CONTROL
+{ Scale DXGI_RGB }
+{ Offset DXGI_RGB }
+{ GammaCurve DXGI_RGB[1025] } ;
+
+STRUCT: DXGI_GAMMA_CONTROL_CAPABILITIES
+{ ScaleAndOffsetSupported BOOL }
+{ MaxConvertedValue FLOAT }
+{ MinConvertedValue FLOAT }
+{ NumGammaControlPoints UINT }
+{ ControlPointPositions FLOAT[1025] } ;
+
+STRUCT: DXGI_RATIONAL
+{ Numerator UINT }
+{ Denominator UINT } ;
+
+C-ENUM: DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED
+ DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE
+ DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST
+ DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST ;
+TYPEDEF: int DXGI_MODE_SCANLINE_ORDER
+
+C-ENUM: DXGI_MODE_SCALING_UNSPECIFIED
+ DXGI_MODE_SCALING_CENTERED
+ DXGI_MODE_SCALING_STRETCHED ;
+TYPEDEF: int DXGI_MODE_SCALING
+
+C-ENUM: DXGI_MODE_ROTATION_UNSPECIFIED
+ DXGI_MODE_ROTATION_IDENTITY
+ DXGI_MODE_ROTATION_ROTATE90
+ DXGI_MODE_ROTATION_ROTATE180
+ DXGI_MODE_ROTATION_ROTATE270 ;
+TYPEDEF: int DXGI_MODE_ROTATION
+
+STRUCT: DXGI_MODE_DESC
+{ Width UINT }
+{ Height UINT }
+{ RefreshRate DXGI_RATIONAL }
+{ Format DXGI_FORMAT }
+{ ScanlineOrdering DXGI_MODE_SCANLINE_ORDER }
+{ Scaling DXGI_MODE_SCALING } ;
+
+STRUCT: DXGI_SAMPLE_DESC
+{ Count UINT }
+{ Quality UINT } ;
--- /dev/null
+Bindings to the DirectX Graphics Infrastructure. Corresponds to DXGIType.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+Erik Charlebois
--- /dev/null
+X3DAudio bindings. Corresponds to x3daudio.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct
+windows.directx.d3dx10math windows.types ;
+IN: windows.directx.x3daudio
+
+LIBRARY: x3daudio
+
+CONSTANT: X3DAUDIO_HANDLE_BYTESIZE 20
+
+CONSTANT: X3DAUDIO_PI 3.141592654
+CONSTANT: X3DAUDIO_2PI 6.283185307
+
+CONSTANT: X3DAUDIO_SPEED_OF_SOUND 343.5
+
+CONSTANT: X3DAUDIO_CALCULATE_MATRIX HEX: 00000001
+CONSTANT: X3DAUDIO_CALCULATE_DELAY HEX: 00000002
+CONSTANT: X3DAUDIO_CALCULATE_LPF_DIRECT HEX: 00000004
+CONSTANT: X3DAUDIO_CALCULATE_LPF_REVERB HEX: 00000008
+CONSTANT: X3DAUDIO_CALCULATE_REVERB HEX: 00000010
+CONSTANT: X3DAUDIO_CALCULATE_DOPPLER HEX: 00000020
+CONSTANT: X3DAUDIO_CALCULATE_EMITTER_ANGLE HEX: 00000040
+CONSTANT: X3DAUDIO_CALCULATE_ZEROCENTER HEX: 00010000
+CONSTANT: X3DAUDIO_CALCULATE_REDIRECT_TO_LFE HEX: 00020000
+
+TYPEDEF: float FLOAT32
+TYPEDEF: D3DVECTOR X3DAUDIO_VECTOR
+
+TYPEDEF: BYTE[20] X3DAUDIO_HANDLE
+
+STRUCT: X3DAUDIO_DISTANCE_CURVE_POINT
+ { Distance FLOAT32 }
+ { DSPSetting FLOAT32 } ;
+TYPEDEF: X3DAUDIO_DISTANCE_CURVE_POINT* LPX3DAUDIO_DISTANCE_CURVE_POINT
+
+STRUCT: X3DAUDIO_DISTANCE_CURVE
+ { pPoints X3DAUDIO_DISTANCE_CURVE_POINT* }
+ { PointCount UINT32 } ;
+TYPEDEF: X3DAUDIO_DISTANCE_CURVE* LPX3DAUDIO_DISTANCE_CURVE
+
+STRUCT: X3DAUDIO_CONE
+ { InnerAngle FLOAT32 }
+ { OuterAngle FLOAT32 }
+ { InnerVolume FLOAT32 }
+ { OuterVolume FLOAT32 }
+ { InnerLPF FLOAT32 }
+ { OuterLPF FLOAT32 }
+ { InnerReverb FLOAT32 }
+ { OuterReverb FLOAT32 } ;
+TYPEDEF: X3DAUDIO_CONE* LPX3DAUDIO_CONE
+
+STRUCT: X3DAUDIO_LISTENER
+ { OrientFront X3DAUDIO_VECTOR }
+ { OrientTop X3DAUDIO_VECTOR }
+ { Position X3DAUDIO_VECTOR }
+ { Velocity X3DAUDIO_VECTOR }
+ { pCone X3DAUDIO_CONE* } ;
+TYPEDEF: X3DAUDIO_LISTENER* LPX3DAUDIO_LISTENER
+
+STRUCT: X3DAUDIO_EMITTER
+ { pCone X3DAUDIO_CONE* }
+ { OrientFront X3DAUDIO_VECTOR }
+ { OrientTop X3DAUDIO_VECTOR }
+ { Position X3DAUDIO_VECTOR }
+ { Velocity X3DAUDIO_VECTOR }
+ { InnerRadius FLOAT32 }
+ { InnerRadiusAngle FLOAT32 }
+ { ChannelCount UINT32 }
+ { ChannelRadius FLOAT32 }
+ { pChannelAzimuths FLOAT32* }
+ { pVolumeCurve X3DAUDIO_DISTANCE_CURVE* }
+ { pLFECurve X3DAUDIO_DISTANCE_CURVE* }
+ { pLPFDirectCurve X3DAUDIO_DISTANCE_CURVE* }
+ { pLPFReverbCurve X3DAUDIO_DISTANCE_CURVE* }
+ { pReverbCurve X3DAUDIO_DISTANCE_CURVE* }
+ { CurveDistanceScaler FLOAT32 }
+ { DopplerScaler FLOAT32 } ;
+TYPEDEF: X3DAUDIO_EMITTER* LPX3DAUDIO_EMITTER
+
+STRUCT: X3DAUDIO_DSP_SETTINGS
+ { pMatrixCoefficients FLOAT32* }
+ { pDelayTimes FLOAT32* }
+ { SrcChannelCount UINT32 }
+ { DstChannelCount UINT32 }
+ { LPFDirectCoefficient FLOAT32 }
+ { LPFReverbCoefficient FLOAT32 }
+ { ReverbLevel FLOAT32 }
+ { DopplerFactor FLOAT32 }
+ { EmitterToListenerAngle FLOAT32 }
+ { EmitterToListenerDistance FLOAT32 }
+ { EmitterVelocityComponent FLOAT32 }
+ { ListenerVelocityComponent FLOAT32 } ;
+TYPEDEF: X3DAUDIO_DSP_SETTINGS* LPX3DAUDIO_DSP_SETTINGS
+
+
+FUNCTION: void X3DAudioInitialize ( UINT32 SpeakerChannelMask, FLOAT32 SpeedOfSound, X3DAUDIO_HANDLE Instance ) ;
+
+FUNCTION: void X3DAudioCalculate ( X3DAUDIO_HANDLE Instance, X3DAUDIO_LISTENER* pListener, X3DAUDIO_EMITTER* pEmitter, UINT32 Flags, X3DAUDIO_DSP_SETTINGS* pDSPSettings ) ;
--- /dev/null
+Erik Charlebois
--- /dev/null
+XACT3 bindings. Corresponds to xact3.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.xaudio2 windows.kernel32
+windows.types ;
+IN: windows.directx.xact3
+
+LIBRARY: xactengine
+
+C-TYPE: IXACT3SoundBank
+C-TYPE: IXACT3WaveBank
+C-TYPE: IXACT3Cue
+C-TYPE: IXACT3Wave
+C-TYPE: IXACT3Engine
+C-TYPE: XACT_NOTIFICATION
+
+TYPEDEF: WORD XACTINDEX
+TYPEDEF: BYTE XACTNOTIFICATIONTYPE
+TYPEDEF: FLOAT XACTVARIABLEVALUE
+TYPEDEF: WORD XACTVARIABLEINDEX
+TYPEDEF: WORD XACTCATEGORY
+TYPEDEF: BYTE XACTCHANNEL
+TYPEDEF: FLOAT XACTVOLUME
+TYPEDEF: LONG XACTTIME
+TYPEDEF: SHORT XACTPITCH
+TYPEDEF: BYTE XACTLOOPCOUNT
+TYPEDEF: BYTE XACTVARIATIONWEIGHT
+TYPEDEF: BYTE XACTPRIORITY
+TYPEDEF: BYTE XACTINSTANCELIMIT
+
+CONSTANT: WAVE_FORMAT_IEEE_FLOAT HEX: 0003
+CONSTANT: WAVE_FORMAT_EXTENSIBLE HEX: FFFE
+
+STRUCT: WAVEFORMATEX
+ { wFormatTag WORD }
+ { nChannels WORD }
+ { nSamplesPerSec DWORD }
+ { nAvgBytesPerSec DWORD }
+ { nBlockAlign WORD }
+ { wBitsPerSample WORD }
+ { cbSize WORD } ;
+TYPEDEF: WAVEFORMATEX* PWAVEFORMATEX
+TYPEDEF: WAVEFORMATEX* NPWAVEFORMATEX
+TYPEDEF: WAVEFORMATEX* LPWAVEFORMATEX
+
+UNION-STRUCT: WAVEFORMATEXTENSIBLE_UNION
+ { wValidBitsPerSample WORD }
+ { wSamplesPerBlock WORD }
+ { wReserved WORD } ;
+STRUCT: WAVEFORMATEXTENSIBLE
+ { Format WAVEFORMATEX }
+ { Union WAVEFORMATEXTENSIBLE_UNION }
+ { dwChannelMask DWORD }
+ { SubFormat GUID } ;
+TYPEDEF: WAVEFORMATEXTENSIBLE* PWAVEFORMATEXTENSIBLE
+
+CONSTANT: XACTTIME_MIN HEX: 80000001
+CONSTANT: XACTTIME_MAX HEX: 7fffffff
+CONSTANT: XACTTIME_INFINITE HEX: 7fffffff
+CONSTANT: XACTINSTANCELIMIT_INFINITE HEX: ff
+CONSTANT: XACTINSTANCELIMIT_MIN HEX: 00
+CONSTANT: XACTINSTANCELIMIT_MAX HEX: fe
+CONSTANT: XACTINDEX_MIN HEX: 0
+CONSTANT: XACTINDEX_MAX HEX: fffe
+CONSTANT: XACTINDEX_INVALID HEX: ffff
+CONSTANT: XACTNOTIFICATIONTYPE_MIN HEX: 00
+CONSTANT: XACTNOTIFICATIONTYPE_MAX HEX: ff
+CONSTANT: XACTVARIABLEINDEX_MIN HEX: 0000
+CONSTANT: XACTVARIABLEINDEX_MAX HEX: fffe
+CONSTANT: XACTVARIABLEINDEX_INVALID HEX: ffff
+CONSTANT: XACTCATEGORY_MIN HEX: 0
+CONSTANT: XACTCATEGORY_MAX HEX: fffe
+CONSTANT: XACTCATEGORY_INVALID HEX: ffff
+CONSTANT: XACTCHANNEL_MIN 0
+CONSTANT: XACTCHANNEL_MAX HEX: FF
+CONSTANT: XACTPITCH_MIN -1200
+CONSTANT: XACTPITCH_MAX 1200
+CONSTANT: XACTPITCH_MIN_TOTAL -2400
+CONSTANT: XACTPITCH_MAX_TOTAL 2400
+CONSTANT: XACTVOLUME_MIN 0.0
+CONSTANT: XACTVOLUME_MAX 16777216.0
+CONSTANT: XACTLOOPCOUNT_MIN HEX: 0
+CONSTANT: XACTLOOPCOUNT_MAX HEX: fe
+CONSTANT: XACTLOOPCOUNT_INFINITE HEX: ff
+CONSTANT: XACTWAVEALIGNMENT_MIN 2048
+
+CONSTANT: XACT_CUE_NAME_LENGTH HEX: FF
+CONSTANT: XACT_CONTENT_VERSION 46
+
+CONSTANT: XACT_FLAG_STOP_RELEASE HEX: 00000000
+CONSTANT: XACT_FLAG_STOP_IMMEDIATE HEX: 00000001
+
+CONSTANT: XACT_FLAG_MANAGEDATA HEX: 00000001
+
+CONSTANT: XACT_FLAG_BACKGROUND_MUSIC HEX: 00000002
+CONSTANT: XACT_FLAG_UNITS_MS HEX: 00000004
+CONSTANT: XACT_FLAG_UNITS_SAMPLES HEX: 00000008
+
+CONSTANT: XACT_STATE_CREATED HEX: 00000001
+CONSTANT: XACT_STATE_PREPARING HEX: 00000002
+CONSTANT: XACT_STATE_PREPARED HEX: 00000004
+CONSTANT: XACT_STATE_PLAYING HEX: 00000008
+CONSTANT: XACT_STATE_STOPPING HEX: 00000010
+CONSTANT: XACT_STATE_STOPPED HEX: 00000020
+CONSTANT: XACT_STATE_PAUSED HEX: 00000040
+CONSTANT: XACT_STATE_INUSE HEX: 00000080
+CONSTANT: XACT_STATE_PREPAREFAILED HEX: 80000000
+
+C-TYPE: XACT_READFILE_CB
+C-TYPE: XACT_GETOVERLAPPEDRESULT_CB
+
+: XACT_FLAG_GLOBAL_SETTINGS_MANAGEDATA ( -- z ) XACT_FLAG_MANAGEDATA ; inline
+
+
+STRUCT: XACT_FILEIO_CALLBACKS
+ { readFileCallback XACT_READFILE_CB* }
+ { getOverlappedResultCallback XACT_GETOVERLAPPEDRESULT_CB* } ;
+TYPEDEF: XACT_FILEIO_CALLBACKS* PXACT_FILEIO_CALLBACKS
+
+C-TYPE: XACT_NOTIFICATION_CALLBACK
+
+CONSTANT: XACT_RENDERER_ID_LENGTH HEX: ff
+CONSTANT: XACT_RENDERER_NAME_LENGTH HEX: ff
+
+STRUCT: XACT_RENDERER_DETAILS
+ { rendererID WCHAR[255] }
+ { displayName WCHAR[255] }
+ { defaultDevice BOOL } ;
+TYPEDEF: XACT_RENDERER_DETAILS* LPXACT_RENDERER_DETAILS
+
+CONSTANT: XACT_ENGINE_LOOKAHEAD_DEFAULT 250
+
+STRUCT: XACT_RUNTIME_PARAMETERS
+ { lookAheadTime DWORD }
+ { pGlobalSettingsBuffer void* }
+ { globalSettingsBufferSize DWORD }
+ { globalSettingsFlags DWORD }
+ { globalSettingsAllocAttributes DWORD }
+ { fileIOCallbacks XACT_FILEIO_CALLBACKS }
+ { fnNotificationCallback XACT_NOTIFICATION_CALLBACK* }
+ { pRendererID PWSTR }
+ { pXAudio2 IXAudio2* }
+ { pMasteringVoice IXAudio2MasteringVoice* } ;
+TYPEDEF: XACT_RUNTIME_PARAMETERS* LPXACT_RUNTIME_PARAMETERS
+
+STRUCT: XACT_STREAMING_PARAMETERS
+ { file HANDLE }
+ { offset DWORD }
+ { flags DWORD }
+ { packetSize WORD } ;
+TYPEDEF: XACT_STREAMING_PARAMETERS XACT_WAVEBANK_STREAMING_PARAMETERS
+TYPEDEF: XACT_WAVEBANK_STREAMING_PARAMETERS* LPXACT_WAVEBANK_STREAMING_PARAMETERS
+TYPEDEF: XACT_STREAMING_PARAMETERS* LPXACT_STREAMING_PARAMETERS
+
+STRUCT: XACT_CUE_PROPERTIES
+ { friendlyName CHAR[255] }
+ { interactive BOOL }
+ { iaVariableIndex XACTINDEX }
+ { numVariations XACTINDEX }
+ { maxInstances XACTINSTANCELIMIT }
+ { currentInstances XACTINSTANCELIMIT } ;
+TYPEDEF: XACT_CUE_PROPERTIES* LPXACT_CUE_PROPERTIES
+
+STRUCT: XACT_TRACK_PROPERTIES
+ { duration XACTTIME }
+ { numVariations XACTINDEX }
+ { numChannels XACTCHANNEL }
+ { waveVariation XACTINDEX }
+ { loopCount XACTLOOPCOUNT } ;
+TYPEDEF: XACT_TRACK_PROPERTIES* LPXACT_TRACK_PROPERTIES
+
+STRUCT: XACT_VARIATION_PROPERTIES
+ { index XACTINDEX }
+ { weight XACTVARIATIONWEIGHT }
+ { iaVariableMin XACTVARIABLEVALUE }
+ { iaVariableMax XACTVARIABLEVALUE }
+ { linger BOOL } ;
+TYPEDEF: XACT_VARIATION_PROPERTIES* LPXACT_VARIATION_PROPERTIES
+
+STRUCT: XACT_SOUND_PROPERTIES
+ { category XACTCATEGORY }
+ { priority BYTE }
+ { pitch XACTPITCH }
+ { volume XACTVOLUME }
+ { numTracks XACTINDEX }
+ { arrTrackProperties XACT_TRACK_PROPERTIES } ;
+TYPEDEF: XACT_SOUND_PROPERTIES* LPXACT_SOUND_PROPERTIES
+
+STRUCT: XACT_SOUND_VARIATION_PROPERTIES
+ { variationProperties XACT_VARIATION_PROPERTIES }
+ { soundProperties XACT_SOUND_PROPERTIES } ;
+TYPEDEF: XACT_SOUND_VARIATION_PROPERTIES* LPXACT_SOUND_VARIATION_PROPERTIES
+
+STRUCT: XACT_CUE_INSTANCE_PROPERTIES
+ { allocAttributes DWORD }
+ { cueProperties XACT_CUE_PROPERTIES }
+ { activeVariationProperties XACT_SOUND_VARIATION_PROPERTIES } ;
+TYPEDEF: XACT_CUE_INSTANCE_PROPERTIES* LPXACT_CUE_INSTANCE_PROPERTIES
+
+STRUCT: WAVEBANKMINIWAVEFORMAT
+ { dwValue DWORD } ;
+
+STRUCT: WAVEBANKSAMPLEREGION
+ { dwStartSample DWORD }
+ { dwTotalSamples DWORD } ;
+
+STRUCT: XACT_WAVE_PROPERTIES
+ { friendlyName char[64] }
+ { format WAVEBANKMINIWAVEFORMAT }
+ { durationInSamples DWORD }
+ { loopRegion WAVEBANKSAMPLEREGION }
+ { streaming BOOL } ;
+TYPEDEF: XACT_WAVE_PROPERTIES* LPXACT_WAVE_PROPERTIES
+
+STRUCT: XACT_WAVE_INSTANCE_PROPERTIES
+ { properties XACT_WAVE_PROPERTIES }
+ { backgroundMusic BOOL } ;
+TYPEDEF: XACT_WAVE_INSTANCE_PROPERTIES* LPXACT_WAVE_INSTANCE_PROPERTIES
+
+STRUCT: XACTCHANNELMAPENTRY
+ { InputChannel XACTCHANNEL }
+ { OutputChannel XACTCHANNEL }
+ { Volume XACTVOLUME } ;
+TYPEDEF: XACTCHANNELMAPENTRY* LPXACTCHANNELMAPENTRY
+
+STRUCT: XACTCHANNELMAP
+ { EntryCount XACTCHANNEL }
+ { paEntries XACTCHANNELMAPENTRY* } ;
+TYPEDEF: XACTCHANNELMAP* LPXACTCHANNELMAP
+
+STRUCT: XACTCHANNELVOLUMEENTRY
+ { EntryIndex XACTCHANNEL }
+ { Volume XACTVOLUME } ;
+TYPEDEF: XACTCHANNELVOLUMEENTRY* LPXACTCHANNELVOLUMEENTRY
+
+STRUCT: XACTCHANNELVOLUME
+ { EntryCount XACTCHANNEL }
+ { paEntries XACTCHANNELVOLUMEENTRY* } ;
+TYPEDEF: XACTCHANNELVOLUME* LPXACTCHANNELVOLUME
+
+CONSTANT: XACTNOTIFICATIONTYPE_CUEPREPARED 1
+CONSTANT: XACTNOTIFICATIONTYPE_CUEPLAY 2
+CONSTANT: XACTNOTIFICATIONTYPE_CUESTOP 3
+CONSTANT: XACTNOTIFICATIONTYPE_CUEDESTROYED 4
+CONSTANT: XACTNOTIFICATIONTYPE_MARKER 5
+CONSTANT: XACTNOTIFICATIONTYPE_SOUNDBANKDESTROYED 6
+CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKDESTROYED 7
+CONSTANT: XACTNOTIFICATIONTYPE_LOCALVARIABLECHANGED 8
+CONSTANT: XACTNOTIFICATIONTYPE_GLOBALVARIABLECHANGED 9
+CONSTANT: XACTNOTIFICATIONTYPE_GUICONNECTED 10
+CONSTANT: XACTNOTIFICATIONTYPE_GUIDISCONNECTED 11
+CONSTANT: XACTNOTIFICATIONTYPE_WAVEPREPARED 12
+CONSTANT: XACTNOTIFICATIONTYPE_WAVEPLAY 13
+CONSTANT: XACTNOTIFICATIONTYPE_WAVESTOP 14
+CONSTANT: XACTNOTIFICATIONTYPE_WAVELOOPED 15
+CONSTANT: XACTNOTIFICATIONTYPE_WAVEDESTROYED 16
+CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKPREPARED 17
+CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKSTREAMING_INVALIDCONTENT 18
+
+CONSTANT: XACT_FLAG_NOTIFICATION_PERSIST HEX: 01
+
+STRUCT: XACT_NOTIFICATION_DESCRIPTION
+ { type XACTNOTIFICATIONTYPE }
+ { flags BYTE }
+ { pSoundBank IXACT3SoundBank* }
+ { pWaveBank IXACT3WaveBank* }
+ { pCue IXACT3Cue* }
+ { pWave IXACT3Wave* }
+ { cueIndex XACTINDEX }
+ { waveIndex XACTINDEX }
+ { pvContext PVOID } ;
+TYPEDEF: XACT_NOTIFICATION_DESCRIPTION* LPXACT_NOTIFICATION_DESCRIPTION
+
+STRUCT: XACT_NOTIFICATION_CUE
+ { cueIndex XACTINDEX }
+ { pSoundBank IXACT3SoundBank* }
+ { pCue IXACT3Cue* } ;
+TYPEDEF: XACT_NOTIFICATION_CUE* LPXACT_NOTIFICATION_CUE
+
+STRUCT: XACT_NOTIFICATION_MARKER
+ { cueIndex XACTINDEX }
+ { pSoundBank IXACT3SoundBank* }
+ { pCue IXACT3Cue* }
+ { marker DWORD } ;
+TYPEDEF: XACT_NOTIFICATION_MARKER* LPXACT_NOTIFICATION_MARKER
+
+STRUCT: XACT_NOTIFICATION_SOUNDBANK
+ { pSoundBank IXACT3SoundBank* } ;
+TYPEDEF: XACT_NOTIFICATION_SOUNDBANK* LPXACT_NOTIFICATION_SOUNDBANK
+
+STRUCT: XACT_NOTIFICATION_WAVEBANK
+ { pWaveBank IXACT3WaveBank* } ;
+TYPEDEF: XACT_NOTIFICATION_WAVEBANK* LPXACT_NOTIFICATION_WAVEBANK
+
+STRUCT: XACT_NOTIFICATION_VARIABLE
+ { cueIndex XACTINDEX }
+ { pSoundBank IXACT3SoundBank* }
+ { pCue IXACT3Cue* }
+ { variableIndex XACTVARIABLEINDEX }
+ { variableValue XACTVARIABLEVALUE }
+ { local BOOL } ;
+TYPEDEF: XACT_NOTIFICATION_VARIABLE* LPXACT_NOTIFICATION_VARIABLE
+
+STRUCT: XACT_NOTIFICATION_GUI
+ { reserved DWORD } ;
+TYPEDEF: XACT_NOTIFICATION_GUI* LPXACT_NOTIFICATION_GUI
+
+STRUCT: XACT_NOTIFICATION_WAVE
+ { pWaveBank IXACT3WaveBank* }
+ { waveIndex XACTINDEX }
+ { cueIndex XACTINDEX }
+ { pSoundBank IXACT3SoundBank* }
+ { pCue IXACT3Cue* }
+ { pWave IXACT3Wave* } ;
+TYPEDEF: XACT_NOTIFICATION_WAVE* LPXACT_NOTIFICATION_WAVE
+
+UNION-STRUCT: XACT_NOTIFICATION_UNION
+ { cue XACT_NOTIFICATION_CUE }
+ { marker XACT_NOTIFICATION_MARKER }
+ { soundBank XACT_NOTIFICATION_SOUNDBANK }
+ { waveBank XACT_NOTIFICATION_WAVEBANK }
+ { variable XACT_NOTIFICATION_VARIABLE }
+ { gui XACT_NOTIFICATION_GUI }
+ { wave XACT_NOTIFICATION_WAVE } ;
+STRUCT: XACT_NOTIFICATION
+ { type XACTNOTIFICATIONTYPE }
+ { timeStamp LONG }
+ { pvContext PVOID }
+ { union XACT_NOTIFICATION_UNION } ;
+TYPEDEF: XACT_NOTIFICATION* LPXACT_NOTIFICATION
+
+CONSTANT: XACT_FLAG_SOUNDBANK_STOP_IMMEDIATE HEX: 00000001
+CONSTANT: XACT_SOUNDBANKSTATE_INUSE HEX: 00000080
+
+COM-INTERFACE: IXACT3SoundBank f {00000000-0000-0000-0000-000000000000}
+ XACTINDEX GetCueIndex ( PCSTR szFriendlyName )
+ HRESULT GetNumCues ( XACTINDEX* pnNumCues )
+ HRESULT GetCueProperties ( XACTINDEX nCueIndex, LPXACT_CUE_PROPERTIES pProperties )
+ HRESULT Prepare ( XACTINDEX nCueIndex, DWORD dwFlags, XACTTIME timeOffset, IXACT3Cue** ppCue )
+ HRESULT Play ( XACTINDEX nCueIndex, DWORD dwFlags, XACTTIME timeOffset, IXACT3Cue** ppCue )
+ HRESULT Stop ( XACTINDEX nCueIndex, DWORD dwFlags )
+ HRESULT Destroy ( )
+ HRESULT GetState ( DWORD* pdwState ) ;
+
+CONSTANT: XACT_WAVEBANKSTATE_INUSE HEX: 00000080
+CONSTANT: XACT_WAVEBANKSTATE_PREPARED HEX: 00000004
+CONSTANT: XACT_WAVEBANKSTATE_PREPAREFAILED HEX: 80000000
+
+COM-INTERFACE: IXACT3WaveBank f {00000000-0000-0000-0000-000000000000}
+ HRESULT Destroy ( )
+ HRESULT GetNumWaves ( XACTINDEX* pnNumWaves )
+ XACTINDEX GetWaveIndex ( PCSTR szFriendlyName )
+ HRESULT GetWaveProperties ( XACTINDEX nWaveIndex, LPXACT_WAVE_PROPERTIES pWaveProperties )
+ HRESULT Prepare ( XACTINDEX nWaveIndex, DWORD dwFlags, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
+ HRESULT Play ( XACTINDEX nWaveIndex, DWORD dwFlags, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
+ HRESULT Stop ( XACTINDEX nWaveIndex, DWORD dwFlags )
+ HRESULT GetState ( DWORD* pdwState ) ;
+
+COM-INTERFACE: IXACT3Wave f {00000000-0000-0000-0000-000000000000}
+ HRESULT Destroy ( )
+ HRESULT Play ( )
+ HRESULT Stop ( DWORD dwFlags )
+ HRESULT Pause ( BOOL fPause )
+ HRESULT GetState ( DWORD* pdwState )
+ HRESULT SetPitch ( XACTPITCH pitch )
+ HRESULT SetVolume ( XACTVOLUME volume )
+ HRESULT SetMatrixCoefficients ( UINT32 uSrcChannelCount, UINT32 uDstChannelCount, float* pMatrixCoefficients )
+ HRESULT GetProperties ( LPXACT_WAVE_INSTANCE_PROPERTIES pProperties ) ;
+
+: XACT_FLAG_CUE_STOP_RELEASE ( -- z ) XACT_FLAG_STOP_RELEASE ; inline
+: XACT_FLAG_CUE_STOP_IMMEDIATE ( -- z ) XACT_FLAG_STOP_IMMEDIATE ; inline
+
+: XACT_CUESTATE_CREATED ( -- z ) XACT_STATE_CREATED ; inline
+: XACT_CUESTATE_PREPARING ( -- z ) XACT_STATE_PREPARING ; inline
+: XACT_CUESTATE_PREPARED ( -- z ) XACT_STATE_PREPARED ; inline
+: XACT_CUESTATE_PLAYING ( -- z ) XACT_STATE_PLAYING ; inline
+: XACT_CUESTATE_STOPPING ( -- z ) XACT_STATE_STOPPING ; inline
+: XACT_CUESTATE_STOPPED ( -- z ) XACT_STATE_STOPPED ; inline
+: XACT_CUESTATE_PAUSED ( -- z ) XACT_STATE_PAUSED ; inline
+
+COM-INTERFACE: IXACT3Cue f {00000000-0000-0000-0000-000000000000}
+ HRESULT Play ( )
+ HRESULT Stop ( DWORD dwFlags )
+ HRESULT GetState ( DWORD* pdwState )
+ HRESULT Destroy ( )
+ HRESULT SetMatrixCoefficients ( UINT32 uSrcChannelCount, UINT32 uDstChannelCount, float* pMatrixCoefficients )
+ XACTVARIABLEINDEX GetVariableIndex ( PCSTR szFriendlyName )
+ HRESULT SetVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE nValue )
+ HRESULT GetVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE* nValue )
+ HRESULT Pause ( BOOL fPause )
+ HRESULT GetProperties ( LPXACT_CUE_INSTANCE_PROPERTIES* ppProperties )
+ HRESULT SetOutputVoices ( XAUDIO2_VOICE_SENDS* pSendList )
+ HRESULT SetOutputVoiceMatrix ( IXAudio2Voice* pDestinationVoice, UINT32 SourceChannels, UINT32 DestinationChannels, float* pLevelMatrix ) ;
+
+: XACT_FLAG_ENGINE_CREATE_MANAGEDATA ( -- z ) XACT_FLAG_MANAGEDATA ; inline
+: XACT_FLAG_ENGINE_STOP_IMMEDIATE ( -- z ) XACT_FLAG_STOP_IMMEDIATE ; inline
+
+STRUCT: WAVEBANKREGION
+ { dwOffset DWORD }
+ { dwLength DWORD } ;
+
+STRUCT: WAVEBANKENTRY
+ { dwFlagsAndDuration DWORD }
+ { Format WAVEBANKMINIWAVEFORMAT }
+ { PlayRegion WAVEBANKREGION }
+ { LoopRegion WAVEBANKSAMPLEREGION } ;
+
+COM-INTERFACE: IXACT3Engine IUnknown {b1ee676a-d9cd-4d2a-89a8-fa53eb9e480b}
+ HRESULT GetRendererCount ( XACTINDEX* pnRendererCount )
+ HRESULT GetRendererDetails ( XACTINDEX nRendererIndex, LPXACT_RENDERER_DETAILS pRendererDetails )
+ HRESULT GetFinalMixFormat ( WAVEFORMATEXTENSIBLE* pFinalMixFormat )
+ HRESULT Initialize ( XACT_RUNTIME_PARAMETERS* pParams )
+ HRESULT ShutDown ( )
+ HRESULT DoWork ( )
+ HRESULT CreateSoundBank ( void* pvBuffer, DWORD dwSize, DWORD dwFlags, DWORD dwAllocAttributes, IXACT3SoundBank** ppSoundBank )
+ HRESULT CreateInMemoryWaveBank ( void* pvBuffer, DWORD dwSize, DWORD dwFlags, DWORD dwAllocAttributes, IXACT3WaveBank** ppWaveBank )
+ HRESULT CreateStreamingWaveBank ( XACT_WAVEBANK_STREAMING_PARAMETERS* pParms, IXACT3WaveBank** ppWaveBank )
+ HRESULT PrepareWave ( DWORD dwFlags, PCSTR szWavePath, WORD wStreamingPacketSize, DWORD dwAlignment, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
+ HRESULT PrepareInMemoryWave ( DWORD dwFlags, WAVEBANKENTRY entry, DWORD* pdwSeekTable, BYTE* pbWaveData, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
+ HRESULT PrepareStreamingWave ( DWORD dwFlags, WAVEBANKENTRY entry, XACT_STREAMING_PARAMETERS streamingParams, DWORD dwAlignment, DWORD* pdwSeekTable, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
+ HRESULT RegisterNotification ( XACT_NOTIFICATION_DESCRIPTION* pNotificationDesc )
+ HRESULT UnRegisterNotification ( XACT_NOTIFICATION_DESCRIPTION* pNotificationDesc )
+ XACTCATEGORY GetCategory ( PCSTR szFriendlyName )
+ HRESULT Stop ( XACTCATEGORY nCategory, DWORD dwFlags )
+ HRESULT SetVolume ( XACTCATEGORY nCategory, XACTVOLUME nVolume )
+ HRESULT Pause ( XACTCATEGORY nCategory, BOOL fPause )
+ XACTVARIABLEINDEX GetGlobalVariableIndex ( PCSTR szFriendlyName )
+ HRESULT SetGlobalVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE nValue )
+ HRESULT GetGlobalVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE* nValue ) ;
+
+CONSTANT: XACT_FLAG_API_AUDITION_MODE 1
+CONSTANT: XACT_FLAG_API_DEBUG_MODE 2
+
+CONSTANT: XACTENGINE_E_OUTOFMEMORY HEX: 80070000
+CONSTANT: XACTENGINE_E_INVALIDARG HEX: 80070057
+CONSTANT: XACTENGINE_E_NOTIMPL HEX: 80004001
+CONSTANT: XACTENGINE_E_FAIL HEX: 80004005
+
+CONSTANT: XACTENGINE_E_ALREADYINITIALIZED HEX: 8AC70001
+CONSTANT: XACTENGINE_E_NOTINITIALIZED HEX: 8AC70002
+CONSTANT: XACTENGINE_E_EXPIRED HEX: 8AC70003
+CONSTANT: XACTENGINE_E_NONOTIFICATIONCALLBACK HEX: 8AC70004
+CONSTANT: XACTENGINE_E_NOTIFICATIONREGISTERED HEX: 8AC70005
+CONSTANT: XACTENGINE_E_INVALIDUSAGE HEX: 8AC70006
+CONSTANT: XACTENGINE_E_INVALIDDATA HEX: 8AC70007
+CONSTANT: XACTENGINE_E_INSTANCELIMITFAILTOPLAY HEX: 8AC70008
+CONSTANT: XACTENGINE_E_NOGLOBALSETTINGS HEX: 8AC70009
+CONSTANT: XACTENGINE_E_INVALIDVARIABLEINDEX HEX: 8AC7000a
+CONSTANT: XACTENGINE_E_INVALIDCATEGORY HEX: 8AC7000b
+CONSTANT: XACTENGINE_E_INVALIDCUEINDEX HEX: 8AC7000c
+CONSTANT: XACTENGINE_E_INVALIDWAVEINDEX HEX: 8AC7000d
+CONSTANT: XACTENGINE_E_INVALIDTRACKINDEX HEX: 8AC7000e
+CONSTANT: XACTENGINE_E_INVALIDSOUNDOFFSETORINDEX HEX: 8AC7000f
+CONSTANT: XACTENGINE_E_READFILE HEX: 8AC70010
+CONSTANT: XACTENGINE_E_UNKNOWNEVENT HEX: 8AC70011
+CONSTANT: XACTENGINE_E_INCALLBACK HEX: 8AC70012
+CONSTANT: XACTENGINE_E_NOWAVEBANK HEX: 8AC70013
+CONSTANT: XACTENGINE_E_SELECTVARIATION HEX: 8AC70014
+CONSTANT: XACTENGINE_E_MULTIPLEAUDITIONENGINES HEX: 8AC70015
+CONSTANT: XACTENGINE_E_WAVEBANKNOTPREPARED HEX: 8AC70016
+CONSTANT: XACTENGINE_E_NORENDERER HEX: 8AC70017
+CONSTANT: XACTENGINE_E_INVALIDENTRYCOUNT HEX: 8AC70018
+CONSTANT: XACTENGINE_E_SEEKTIMEBEYONDCUEEND HEX: 8AC70019
+CONSTANT: XACTENGINE_E_SEEKTIMEBEYONDWAVEEND HEX: 8AC7001a
+CONSTANT: XACTENGINE_E_NOFRIENDLYNAMES HEX: 8AC7001b
+
+CONSTANT: XACTENGINE_E_AUDITION_WRITEFILE HEX: 8AC70101
+CONSTANT: XACTENGINE_E_AUDITION_NOSOUNDBANK HEX: 8AC70102
+CONSTANT: XACTENGINE_E_AUDITION_INVALIDRPCINDEX HEX: 8AC70103
+CONSTANT: XACTENGINE_E_AUDITION_MISSINGDATA HEX: 8AC70104
+CONSTANT: XACTENGINE_E_AUDITION_UNKNOWNCOMMAND HEX: 8AC70105
+CONSTANT: XACTENGINE_E_AUDITION_INVALIDDSPINDEX HEX: 8AC70106
+CONSTANT: XACTENGINE_E_AUDITION_MISSINGWAVE HEX: 8AC70107
+CONSTANT: XACTENGINE_E_AUDITION_CREATEDIRECTORYFAILED HEX: 8AC70108
+CONSTANT: XACTENGINE_E_AUDITION_INVALIDSESSION HEX: 8AC70109
+
--- /dev/null
+Erik Charlebois
--- /dev/null
+XAPO bindings. Corresponds to xapo.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.com
+windows.com.syntax windows.directx.audiodefs windows.kernel32
+windows.types ;
+IN: windows.directx.xapo
+
+CONSTANT: XAPO_MIN_CHANNELS 1
+CONSTANT: XAPO_MAX_CHANNELS 64
+
+CONSTANT: XAPO_MIN_FRAMERATE 1000
+CONSTANT: XAPO_MAX_FRAMERATE 200000
+
+CONSTANT: XAPO_REGISTRATION_STRING_LENGTH 256
+
+CONSTANT: XAPO_FLAG_CHANNELS_MUST_MATCH HEX: 00000001
+
+CONSTANT: XAPO_FLAG_FRAMERATE_MUST_MATCH HEX: 00000002
+
+CONSTANT: XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH HEX: 00000004
+
+CONSTANT: XAPO_FLAG_BUFFERCOUNT_MUST_MATCH HEX: 00000008
+
+CONSTANT: XAPO_FLAG_INPLACE_REQUIRED HEX: 00000020
+
+CONSTANT: XAPO_FLAG_INPLACE_SUPPORTED HEX: 00000010
+
+STRUCT: XAPO_REGISTRATION_PROPERTIES
+ { clsid GUID }
+ { FriendlyName WCHAR[256] }
+ { CopyrightInfo WCHAR[256] }
+ { MajorVersion UINT32 }
+ { MinorVersion UINT32 }
+ { Flags UINT32 }
+ { MinInputBufferCount UINT32 }
+ { MaxInputBufferCount UINT32 }
+ { MinOutputBufferCount UINT32 }
+ { MaxOutputBufferCount UINT32 } ;
+
+STRUCT: XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS
+ { pFormat WAVEFORMATEX* }
+ { MaxFrameCount UINT32 } ;
+
+C-ENUM:
+ XAPO_BUFFER_SILENT
+ XAPO_BUFFER_VALID ;
+TYPEDEF: int XAPO_BUFFER_FLAGS
+
+STRUCT: XAPO_PROCESS_BUFFER_PARAMETERS
+ { pBuffer void* }
+ { BufferFlags XAPO_BUFFER_FLAGS }
+ { ValidFrameCount UINT32 } ;
+
+COM-INTERFACE: IXAPO IUnknown {A90BC001-E897-E897-55E4-9E4700000000}
+ HRESULT GetRegistrationProperties ( XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties )
+ HRESULT IsInputFormatSupported ( WAVEFORMATEX* pOutputFormat, WAVEFORMATEX* pRequestedInputFormat, WAVEFORMATEX** ppSupportedInputFormat )
+ HRESULT IsOutputFormatSupported ( WAVEFORMATEX* pInputFormat, WAVEFORMATEX* pRequestedOutputFormat, WAVEFORMATEX** ppSupportedOutputFormat )
+ HRESULT Initialize ( void* pData, UINT32 DataByteSize )
+ void Reset ( )
+ HRESULT LockForProcess ( UINT32 InputLockedParameterCount, XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters, UINT32 OutputLockedParameterCount, XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters )
+ void UnlockForProcess ( )
+ void Process ( UINT32 InputProcessParameterCount, XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters, UINT32 OutputProcessParameterCount, XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters, BOOL IsEnabled )
+ UINT32 CalcInputFrames ( UINT32 OutputFrameCount )
+ UINT32 CalcOutputFrames ( UINT32 InputFrameCount ) ;
+
+COM-INTERFACE: IXAPOParameters IUnknown {A90BC001-E897-E897-55E4-9E4700000001}
+ void SetParameters ( void* pParameters, UINT32 ParameterByteSize )
+ void GetParameters ( void* pParameters, UINT32 ParameterByteSize ) ;
+
+
--- /dev/null
+Erik Charlebois
--- /dev/null
+XAPOFX bindings. Corresponds to xapofx.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct windows.ole32
+windows.types ;
+IN: windows.directx.xapofx
+
+LIBRARY: xapofx
+
+CONSTANT: FXEQ_MIN_FRAMERATE 22000
+CONSTANT: FXEQ_MAX_FRAMERATE 48000
+
+CONSTANT: FXEQ_MIN_FREQUENCY_CENTER 20.0
+CONSTANT: FXEQ_MAX_FREQUENCY_CENTER 20000.0
+CONSTANT: FXEQ_DEFAULT_FREQUENCY_CENTER_0 100.0
+CONSTANT: FXEQ_DEFAULT_FREQUENCY_CENTER_1 800.0
+CONSTANT: FXEQ_DEFAULT_FREQUENCY_CENTER_2 2000.0
+CONSTANT: FXEQ_DEFAULT_FREQUENCY_CENTER_3 10000.0
+
+CONSTANT: FXEQ_MIN_GAIN 0.126
+CONSTANT: FXEQ_MAX_GAIN 7.94
+CONSTANT: FXEQ_DEFAULT_GAIN 1.0
+
+CONSTANT: FXEQ_MIN_BANDWIDTH 0.1
+CONSTANT: FXEQ_MAX_BANDWIDTH 2.0
+CONSTANT: FXEQ_DEFAULT_BANDWIDTH 1.0
+
+CONSTANT: FXMASTERINGLIMITER_MIN_RELEASE 1
+CONSTANT: FXMASTERINGLIMITER_MAX_RELEASE 20
+CONSTANT: FXMASTERINGLIMITER_DEFAULT_RELEASE 6
+
+CONSTANT: FXMASTERINGLIMITER_MIN_LOUDNESS 1
+CONSTANT: FXMASTERINGLIMITER_MAX_LOUDNESS 1800
+CONSTANT: FXMASTERINGLIMITER_DEFAULT_LOUDNESS 1000
+
+CONSTANT: FXREVERB_MIN_DIFFUSION 0.0
+CONSTANT: FXREVERB_MAX_DIFFUSION 1.0
+CONSTANT: FXREVERB_DEFAULT_DIFFUSION 0.9
+
+CONSTANT: FXREVERB_MIN_ROOMSIZE 0.0001
+CONSTANT: FXREVERB_MAX_ROOMSIZE 1.0
+CONSTANT: FXREVERB_DEFAULT_ROOMSIZE 0.6
+
+CONSTANT: FXECHO_MIN_WETDRYMIX 0.0
+CONSTANT: FXECHO_MAX_WETDRYMIX 1.0
+CONSTANT: FXECHO_DEFAULT_WETDRYMIX 0.5
+
+CONSTANT: FXECHO_MIN_FEEDBACK 0.0
+CONSTANT: FXECHO_MAX_FEEDBACK 1.0
+CONSTANT: FXECHO_DEFAULT_FEEDBACK 0.5
+
+CONSTANT: FXECHO_MIN_DELAY 1.0
+CONSTANT: FXECHO_MAX_DELAY 2000.0
+CONSTANT: FXECHO_DEFAULT_DELAY 500.0
+
+STRUCT: FXEQ_PARAMETERS
+ { FrequencyCenter0 float }
+ { Gain0 float }
+ { Bandwidth0 float }
+ { FrequencyCenter1 float }
+ { Gain1 float }
+ { Bandwidth1 float }
+ { FrequencyCenter2 float }
+ { Gain2 float }
+ { Bandwidth2 float }
+ { FrequencyCenter3 float }
+ { Gain3 float }
+ { Bandwidth3 float } ;
+
+STRUCT: FXMASTERINGLIMITER_PARAMETERS
+ { Release UINT32 }
+ { Loudness UINT32 } ;
+
+STRUCT: FXREVERB_PARAMETERS
+ { Diffusion float }
+ { RoomSize float } ;
+
+STRUCT: FXECHO_PARAMETERS
+ { WetDryMix float }
+ { Feedback float }
+ { Delay float } ;
+
+FUNCTION: HRESULT CreateFX ( REFCLSID clsid, IUnknown** pEffect ) ;
--- /dev/null
+Erik Charlebois
--- /dev/null
+XAudio2 bindings. Corresponds to xaudio2.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+USING: alien.c-types alien.syntax classes.struct math
+windows.com windows.com.syntax windows.directx.audiodefs
+windows.types ;
+IN: windows.directx.xaudio2
+
+LIBRARY: xaudio2
+
+CONSTANT: XAUDIO2_MAX_BUFFER_BYTES HEX: 80000000
+CONSTANT: XAUDIO2_MAX_QUEUED_BUFFERS 64
+CONSTANT: XAUDIO2_MAX_BUFFERS_SYSTEM 2
+CONSTANT: XAUDIO2_MAX_AUDIO_CHANNELS 64
+CONSTANT: XAUDIO2_MIN_SAMPLE_RATE 1000
+CONSTANT: XAUDIO2_MAX_SAMPLE_RATE 200000
+CONSTANT: XAUDIO2_MAX_VOLUME_LEVEL 16777216.0
+: XAUDIO2_MIN_FREQ_RATIO ( -- z ) 1.0 1024.0 / ; inline
+CONSTANT: XAUDIO2_MAX_FREQ_RATIO 1024.0
+CONSTANT: XAUDIO2_DEFAULT_FREQ_RATIO 2.0
+CONSTANT: XAUDIO2_MAX_FILTER_ONEOVERQ 1.5
+CONSTANT: XAUDIO2_MAX_FILTER_FREQUENCY 1.0
+CONSTANT: XAUDIO2_MAX_LOOP_COUNT 254
+CONSTANT: XAUDIO2_MAX_INSTANCES 8
+
+CONSTANT: XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO 600000
+CONSTANT: XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL 300000
+
+CONSTANT: XAUDIO2_COMMIT_NOW 0
+CONSTANT: XAUDIO2_COMMIT_ALL 0
+CONSTANT: XAUDIO2_INVALID_OPSET HEX: ffffffff
+CONSTANT: XAUDIO2_NO_LOOP_REGION 0
+CONSTANT: XAUDIO2_LOOP_INFINITE 255
+CONSTANT: XAUDIO2_DEFAULT_CHANNELS 0
+CONSTANT: XAUDIO2_DEFAULT_SAMPLERATE 0
+
+
+CONSTANT: XAUDIO2_DEBUG_ENGINE HEX: 0001
+CONSTANT: XAUDIO2_VOICE_NOPITCH HEX: 0002
+CONSTANT: XAUDIO2_VOICE_NOSRC HEX: 0004
+CONSTANT: XAUDIO2_VOICE_USEFILTER HEX: 0008
+CONSTANT: XAUDIO2_VOICE_MUSIC HEX: 0010
+CONSTANT: XAUDIO2_PLAY_TAILS HEX: 0020
+CONSTANT: XAUDIO2_END_OF_STREAM HEX: 0040
+CONSTANT: XAUDIO2_SEND_USEFILTER HEX: 0080
+
+
+CONSTANT: XAUDIO2_DEFAULT_FILTER_TYPE 0
+CONSTANT: XAUDIO2_DEFAULT_FILTER_FREQUENCY 1.0
+CONSTANT: XAUDIO2_DEFAULT_FILTER_ONEOVERQ 1.0
+
+CONSTANT: XAUDIO2_QUANTUM_NUMERATOR 1
+CONSTANT: XAUDIO2_QUANTUM_DENOMINATOR 100
+
+: XAUDIO2_QUANTUM_MS ( -- z )
+ XAUDIO2_QUANTUM_DENOMINATOR 1000.0 XAUDIO2_QUANTUM_NUMERATOR * / ; inline
+
+CONSTANT: XAUDIO2_E_INVALID_CALL HEX: 88960001
+CONSTANT: XAUDIO2_E_XMA_DECODER_ERROR HEX: 88960002
+CONSTANT: XAUDIO2_E_XAPO_CREATION_FAILED HEX: 88960003
+CONSTANT: XAUDIO2_E_DEVICE_INVALIDATED HEX: 88960004
+
+CONSTANT: Processor1 HEX: 00000001
+CONSTANT: Processor2 HEX: 00000002
+CONSTANT: Processor3 HEX: 00000004
+CONSTANT: Processor4 HEX: 00000008
+CONSTANT: Processor5 HEX: 00000010
+CONSTANT: Processor6 HEX: 00000020
+CONSTANT: Processor7 HEX: 00000040
+CONSTANT: Processor8 HEX: 00000080
+CONSTANT: Processor9 HEX: 00000100
+CONSTANT: Processor10 HEX: 00000200
+CONSTANT: Processor11 HEX: 00000400
+CONSTANT: Processor12 HEX: 00000800
+CONSTANT: Processor13 HEX: 00001000
+CONSTANT: Processor14 HEX: 00002000
+CONSTANT: Processor15 HEX: 00004000
+CONSTANT: Processor16 HEX: 00008000
+CONSTANT: Processor17 HEX: 00010000
+CONSTANT: Processor18 HEX: 00020000
+CONSTANT: Processor19 HEX: 00040000
+CONSTANT: Processor20 HEX: 00080000
+CONSTANT: Processor21 HEX: 00100000
+CONSTANT: Processor22 HEX: 00200000
+CONSTANT: Processor23 HEX: 00400000
+CONSTANT: Processor24 HEX: 00800000
+CONSTANT: Processor25 HEX: 01000000
+CONSTANT: Processor26 HEX: 02000000
+CONSTANT: Processor27 HEX: 04000000
+CONSTANT: Processor28 HEX: 08000000
+CONSTANT: Processor29 HEX: 10000000
+CONSTANT: Processor30 HEX: 20000000
+CONSTANT: Processor31 HEX: 40000000
+CONSTANT: Processor32 HEX: 80000000
+CONSTANT: XAUDIO2_ANY_PROCESSOR HEX: ffffffff
+CONSTANT: XAUDIO2_DEFAULT_PROCESSOR HEX: ffffffff
+TYPEDEF: int XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER
+TYPEDEF: int XAUDIO2_PROCESSOR
+
+CONSTANT: NotDefaultDevice HEX: 0
+CONSTANT: DefaultConsoleDevice HEX: 1
+CONSTANT: DefaultMultimediaDevice HEX: 2
+CONSTANT: DefaultCommunicationsDevice HEX: 4
+CONSTANT: DefaultGameDevice HEX: 8
+CONSTANT: GlobalDefaultDevice HEX: f
+CONSTANT: InvalidDeviceRole HEX: 0
+TYPEDEF: int XAUDIO2_DEVICE_ROLE
+
+STRUCT: XAUDIO2_DEVICE_DETAILS
+ { DeviceID WCHAR[256] }
+ { DisplayName WCHAR[256] }
+ { Role XAUDIO2_DEVICE_ROLE }
+ { OutputFormat WAVEFORMATEXTENSIBLE } ;
+
+STRUCT: XAUDIO2_VOICE_DETAILS
+ { CreationFlags UINT32 }
+ { InputChannels UINT32 }
+ { InputSampleRate UINT32 } ;
+
+C-TYPE: IXAudio2Voice
+
+STRUCT: XAUDIO2_SEND_DESCRIPTOR
+ { Flags UINT32 }
+ { pOutputVoice IXAudio2Voice* } ;
+
+STRUCT: XAUDIO2_VOICE_SENDS
+ { SendCount UINT32 }
+ { pSends XAUDIO2_SEND_DESCRIPTOR* } ;
+
+STRUCT: XAUDIO2_EFFECT_DESCRIPTOR
+ { pEffect IUnknown* }
+ { InitialState BOOL }
+ { OutputChannels UINT32 } ;
+
+STRUCT: XAUDIO2_EFFECT_CHAIN
+ { EffectCount UINT32 }
+ { pEffectDescriptors XAUDIO2_EFFECT_DESCRIPTOR* } ;
+
+C-ENUM:
+ LowPassFilter
+ BandPassFilter
+ HighPassFilter
+ NotchFilter ;
+TYPEDEF: int XAUDIO2_FILTER_TYPE
+
+STRUCT: XAUDIO2_FILTER_PARAMETERS
+ { Type XAUDIO2_FILTER_TYPE }
+ { Frequency FLOAT }
+ { OneOverQ FLOAT } ;
+
+STRUCT: XAUDIO2_BUFFER
+ { Flags UINT32 }
+ { AudioBytes UINT32 }
+ { pAudioData BYTE* }
+ { PlayBegin UINT32 }
+ { PlayLength UINT32 }
+ { LoopBegin UINT32 }
+ { LoopLength UINT32 }
+ { LoopCount UINT32 }
+ { pContext void* } ;
+
+
+STRUCT: XAUDIO2_BUFFER_WMA
+ { pDecodedPacketCumulativeBytes UINT32* }
+ { PacketCount UINT32 } ;
+
+STRUCT: XAUDIO2_VOICE_STATE
+ { pCurrentBufferContext void* }
+ { BuffersQueued UINT32 }
+ { SamplesPlayed UINT64 } ;
+
+STRUCT: XAUDIO2_PERFORMANCE_DATA
+ { AudioCyclesSinceLastQuery UINT64 }
+ { TotalCyclesSinceLastQuery UINT64 }
+ { MinimumCyclesPerQuantum UINT32 }
+ { MaximumCyclesPerQuantum UINT32 }
+ { MemoryUsageInBytes UINT32 }
+ { CurrentLatencyInSamples UINT32 }
+ { GlitchesSinceEngineStarted UINT32 }
+ { ActiveSourceVoiceCount UINT32 }
+ { TotalSourceVoiceCount UINT32 }
+ { ActiveSubmixVoiceCount UINT32 }
+ { ActiveResamplerCount UINT32 }
+ { ActiveMatrixMixCount UINT32 }
+ { ActiveXmaSourceVoices UINT32 }
+ { ActiveXmaStreams UINT32 } ;
+
+STRUCT: XAUDIO2_DEBUG_CONFIGURATION
+ { TraceMask UINT32 }
+ { BreakMask UINT32 }
+ { LogThreadID BOOL }
+ { LogFileline BOOL }
+ { LogFunctionName BOOL }
+ { LogTiming BOOL } ;
+
+CONSTANT: XAUDIO2_LOG_ERRORS HEX: 0001
+CONSTANT: XAUDIO2_LOG_WARNINGS HEX: 0002
+CONSTANT: XAUDIO2_LOG_INFO HEX: 0004
+CONSTANT: XAUDIO2_LOG_DETAIL HEX: 0008
+CONSTANT: XAUDIO2_LOG_API_CALLS HEX: 0010
+CONSTANT: XAUDIO2_LOG_FUNC_CALLS HEX: 0020
+CONSTANT: XAUDIO2_LOG_TIMING HEX: 0040
+CONSTANT: XAUDIO2_LOG_LOCKS HEX: 0080
+CONSTANT: XAUDIO2_LOG_MEMORY HEX: 0100
+CONSTANT: XAUDIO2_LOG_STREAMING HEX: 1000
+
+C-TYPE: IXAudio2EngineCallback
+C-TYPE: IXAudio2VoiceCallback
+
+COM-INTERFACE: IXAudio2 IUnknown {8bcf1f58-9fe7-4583-8ac6-e2adc465c8bb}
+ HRESULT GetDeviceCount ( UINT32* pCount )
+ HRESULT GetDeviceDetails ( UINT32 Index, XAUDIO2_DEVICE_DETAILS* pDeviceDetails )
+ HRESULT Initialize ( UINT32 Flags, XAUDIO2_PROCESSOR XAudio2Processor )
+ HRESULT RegisterForCallbacks ( IXAudio2EngineCallback* pCallback )
+ void UnregisterForCallbacks ( IXAudio2EngineCallback* pCallback )
+ HRESULT CreateSourceVoice (
+ IXAudio2SourceVoice** ppSourceVoice,
+ WAVEFORMATEX* pSourceFormat,
+ UINT32 Flags,
+ FLOAT MaxFrequencyRatio,
+ IXAudio2VoiceCallback* pCallback,
+ XAUDIO2_VOICE_SENDS* pSendList,
+ XAUDIO2_EFFECT_CHAIN* pEffectChain )
+ HRESULT CreateSubmixVoice (
+ IXAudio2SubmixVoice** ppSubmixVoice,
+ UINT32 InputChannels,
+ UINT32 InputSampleRate,
+ UINT32 Flags,
+ UINT32 ProcessingStage,
+ XAUDIO2_VOICE_SENDS* pSendList,
+ XAUDIO2_EFFECT_CHAIN* pEffectChain )
+ HRESULT CreateMasteringVoice (
+ IXAudio2MasteringVoice** ppMasteringVoice,
+ UINT32 InputChannels,
+ UINT32 InputSampleRate,
+ UINT32 Flags
+ UINT32 DeviceIndex,
+ XAUDIO2_EFFECT_CHAIN* pEffectChain )
+ HRESULT StartEngine ( )
+ void StopEngine ( )
+ HRESULT CommitChanges ( UINT32 OperationSet )
+ void GetPerformanceData ( XAUDIO2_PERFORMANCE_DATA* pPerfData )
+ void SetDebugConfiguration ( XAUDIO2_DEBUG_CONFIGURATION* pDebugConfiguration, void* pReserved ) ;
+
+COM-INTERFACE: IXAudio2Voice f {00000000-0000-0000-0000-000000000000}
+ void GetVoiceDetails ( XAUDIO2_VOICE_DETAILS* pVoiceDetails )
+ HRESULT SetOutputVoices ( XAUDIO2_VOICE_SENDS* pSendList )
+ HRESULT SetEffectChain ( XAUDIO2_EFFECT_CHAIN* pEffectChain )
+ HRESULT EnableEffect ( UINT32 EffectIndex, UINT32 OperationSet )
+ HRESULT DisableEffect ( UINT32 EffectIndex, UINT32 OperationSet )
+ void GetEffectState ( UINT32 EffectIndex, BOOL* pEnabled )
+ HRESULT SetEffectParameters (
+ UINT32 EffectIndex,
+ void* pParameters,
+ UINT32 ParametersByteSize,
+ UINT32 OperationSet )
+ HRESULT GetEffectParameters (
+ UINT32 EffectIndex,
+ void* pParameters,
+ UINT32 ParametersByteSize )
+ HRESULT SetFilterParameters ( XAUDIO2_FILTER_PARAMETERS* pParameters, UINT32 OperationSet )
+ void GetFilterParameters ( XAUDIO2_FILTER_PARAMETERS* pParameters )
+ HRESULT SetOutputFilterParameters ( IXAudio2Voice* pDestinationVoice,
+ XAUDIO2_FILTER_PARAMETERS* pParameters,
+ UINT32 OperationSet )
+ void GetOutputFilterParameters ( IXAudio2Voice* pDestinationVoice,
+ XAUDIO2_FILTER_PARAMETERS* pParameters )
+ HRESULT SetVolume ( FLOAT Volume,
+ UINT32 OperationSet )
+ void GetVolume ( FLOAT* pVolume )
+ HRESULT SetChannelVolumes ( UINT32 Channels,
+ FLOAT* pVolumes,
+ UINT32 OperationSet )
+ void GetChannelVolumes ( UINT32 Channels, FLOAT* pVolumes )
+ HRESULT SetOutputMatrix (
+ IXAudio2Voice* pDestinationVoice,
+ UINT32 SourceChannels,
+ UINT32 DestinationChannels,
+ FLOAT* pLevelMatrix,
+ UINT32 OperationSet )
+ void GetOutputMatrix (
+ IXAudio2Voice* pDestinationVoice,
+ UINT32 SourceChannels,
+ UINT32 DestinationChannels,
+ FLOAT* pLevelMatrix )
+ void DestroyVoice ( ) ;
+
+COM-INTERFACE: IXAudio2SourceVoice IXAudio2Voice {00000000-0000-0000-0000-000000000000}
+ HRESULT Start ( UINT32 Flags, UINT32 OperationSet )
+ HRESULT Stop ( UINT32 Flags, UINT32 OperationSet )
+ HRESULT SubmitSourceBuffer ( XAUDIO2_BUFFER* pBuffer, XAUDIO2_BUFFER_WMA* pBufferWMA )
+ HRESULT FlushSourceBuffers ( )
+ HRESULT Discontinuity ( )
+ HRESULT ExitLoop ( UINT32 OperationSet )
+ void GetState ( XAUDIO2_VOICE_STATE* pVoiceState )
+ HRESULT SetFrequencyRatio ( FLOAT Ratio, UINT32 OperationSet )
+ void GetFrequencyRatio ( FLOAT* pRatio )
+ HRESULT SetSourceSampleRate ( UINT32 NewSourceSampleRate ) ;
+
+COM-INTERFACE: IXAudio2SubmixVoice IXAudio2Voice {00000000-0000-0000-0000-000000000000} ;
+COM-INTERFACE: IXAudio2MasteringVoice IXAudio2Voice {00000000-0000-0000-0000-000000000000} ;
+
+COM-INTERFACE: IXAudio2EngineCallback f {00000000-0000-0000-0000-000000000000}
+ void OnProcessingPassStart ( )
+ void OnProcessingPassEnd ( )
+ void OnCriticalError ( HRESULT Error ) ;
+
+COM-INTERFACE: IXAudio2VoiceCallback f {00000000-0000-0000-0000-000000000000}
+ void OnVoiceProcessingPassStart ( UINT32 BytesRequired )
+ void OnVoiceProcessingPassEnd ( )
+ void OnStreamEnd ( )
+ void OnBufferStart ( void* pBufferContext )
+ void OnBufferEnd ( void* pBufferContext )
+ void OnLoopEnd ( void* pBufferContext )
+ void OnVoiceError ( void* pBufferContext, HRESULT Error ) ;
--- /dev/null
+Erik Charlebois
--- /dev/null
+Constants and types for XAudio2. Corresponds to xaudio2fx.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+USING: alien.c-types classes.struct windows.types ;
+IN: windows.directx.xaudio2fx
+
+CONSTANT: XAUDIO2FX_DEBUG 1
+
+STRUCT: XAUDIO2FX_VOLUMEMETER_LEVELS
+ { pPeakLevels float* }
+ { pRMSLevels float* }
+ { ChannelCount UINT32 } ;
+
+CONSTANT: XAUDIO2FX_REVERB_MIN_FRAMERATE 20000
+CONSTANT: XAUDIO2FX_REVERB_MAX_FRAMERATE 48000
+
+STRUCT: XAUDIO2FX_REVERB_PARAMETERS
+ { WetDryMix float }
+ { ReflectionsDelay UINT32 }
+ { ReverbDelay BYTE }
+ { RearDelay BYTE }
+ { PositionLeft BYTE }
+ { PositionRight BYTE }
+ { PositionMatrixLeft BYTE }
+ { PositionMatrixRight BYTE }
+ { EarlyDiffusion BYTE }
+ { LateDiffusion BYTE }
+ { LowEQGain BYTE }
+ { LowEQCutoff BYTE }
+ { HighEQGain BYTE }
+ { HighEQCutoff BYTE }
+ { RoomFilterFreq float }
+ { RoomFilterMain float }
+ { RoomFilterHF float }
+ { ReflectionsGain float }
+ { ReverbGain float }
+ { DecayTime float }
+ { Density float }
+ { RoomSize float } ;
+
+CONSTANT: XAUDIO2FX_REVERB_MIN_WET_DRY_MIX 0.0
+CONSTANT: XAUDIO2FX_REVERB_MIN_REFLECTIONS_DELAY 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_REVERB_DELAY 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_REAR_DELAY 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_POSITION 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_DIFFUSION 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_LOW_EQ_GAIN 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_LOW_EQ_CUTOFF 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_HIGH_EQ_GAIN 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_HIGH_EQ_CUTOFF 0
+CONSTANT: XAUDIO2FX_REVERB_MIN_ROOM_FILTER_FREQ 20.0
+CONSTANT: XAUDIO2FX_REVERB_MIN_ROOM_FILTER_MAIN -100.0
+CONSTANT: XAUDIO2FX_REVERB_MIN_ROOM_FILTER_HF -100.0
+CONSTANT: XAUDIO2FX_REVERB_MIN_REFLECTIONS_GAIN -100.0
+CONSTANT: XAUDIO2FX_REVERB_MIN_REVERB_GAIN -100.0
+CONSTANT: XAUDIO2FX_REVERB_MIN_DECAY_TIME 0.1
+CONSTANT: XAUDIO2FX_REVERB_MIN_DENSITY 0.0
+CONSTANT: XAUDIO2FX_REVERB_MIN_ROOM_SIZE 0.0
+
+CONSTANT: XAUDIO2FX_REVERB_MAX_WET_DRY_MIX 100.0
+CONSTANT: XAUDIO2FX_REVERB_MAX_REFLECTIONS_DELAY 300
+CONSTANT: XAUDIO2FX_REVERB_MAX_REVERB_DELAY 85
+CONSTANT: XAUDIO2FX_REVERB_MAX_REAR_DELAY 5
+CONSTANT: XAUDIO2FX_REVERB_MAX_POSITION 30
+CONSTANT: XAUDIO2FX_REVERB_MAX_DIFFUSION 15
+CONSTANT: XAUDIO2FX_REVERB_MAX_LOW_EQ_GAIN 12
+CONSTANT: XAUDIO2FX_REVERB_MAX_LOW_EQ_CUTOFF 9
+CONSTANT: XAUDIO2FX_REVERB_MAX_HIGH_EQ_GAIN 8
+CONSTANT: XAUDIO2FX_REVERB_MAX_HIGH_EQ_CUTOFF 14
+CONSTANT: XAUDIO2FX_REVERB_MAX_ROOM_FILTER_FREQ 20000.0
+CONSTANT: XAUDIO2FX_REVERB_MAX_ROOM_FILTER_MAIN 0.0
+CONSTANT: XAUDIO2FX_REVERB_MAX_ROOM_FILTER_HF 0.0
+CONSTANT: XAUDIO2FX_REVERB_MAX_REFLECTIONS_GAIN 20.0
+CONSTANT: XAUDIO2FX_REVERB_MAX_REVERB_GAIN 20.0
+CONSTANT: XAUDIO2FX_REVERB_MAX_DENSITY 100.0
+CONSTANT: XAUDIO2FX_REVERB_MAX_ROOM_SIZE 100.0
+
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_WET_DRY_MIX 100.0
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_DELAY 5
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REVERB_DELAY 5
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REAR_DELAY 5
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_POSITION 6
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_POSITION_MATRIX 27
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_EARLY_DIFFUSION 8
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_LATE_DIFFUSION 8
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_GAIN 8
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_CUTOFF 4
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_GAIN 8
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_CUTOFF 4
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_FREQ 5000.0
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_MAIN 0.0
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_HF 0.0
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_GAIN 0.0
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_REVERB_GAIN 0.0
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_DECAY_TIME 1.0
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_DENSITY 100.0
+CONSTANT: XAUDIO2FX_REVERB_DEFAULT_ROOM_SIZE 100.0
+
+STRUCT: XAUDIO2FX_REVERB_I3DL2_PARAMETERS
+ { WetDryMix float }
+ { Room INT32 }
+ { RoomHF INT32 }
+ { RoomRolloffFactor float }
+ { DecayTime float }
+ { DecayHFRatio float }
+ { Reflections INT32 }
+ { ReflectionsDelay float }
+ { Reverb INT32 }
+ { ReverbDelay float }
+ { Diffusion float }
+ { Density float }
+ { HFReference float } ;
--- /dev/null
+Erik Charlebois
--- /dev/null
+XInput bindings for using the Xbox 360 controller. Corresponds to XInput.h.
--- /dev/null
+unportable
+bindings
--- /dev/null
+USING: alien.syntax classes.struct windows.kernel32 windows.types ;
+IN: windows.directx.xinput
+
+LIBRARY: xinput
+
+CONSTANT: XINPUT_DEVTYPE_GAMEPAD 1
+CONSTANT: XINPUT_DEVSUBTYPE_GAMEPAD 1
+CONSTANT: XINPUT_DEVSUBTYPE_WHEEL 2
+CONSTANT: XINPUT_DEVSUBTYPE_ARCADE_STICK 3
+CONSTANT: XINPUT_DEVSUBTYPE_FLIGHT_SICK 4
+CONSTANT: XINPUT_DEVSUBTYPE_DANCE_PAD 5
+CONSTANT: XINPUT_DEVSUBTYPE_GUITAR 6
+CONSTANT: XINPUT_DEVSUBTYPE_DRUM_KIT 8
+
+CONSTANT: XINPUT_CAPS_VOICE_SUPPORTED 4
+
+CONSTANT: XINPUT_GAMEPAD_DPAD_UP HEX: 0001
+CONSTANT: XINPUT_GAMEPAD_DPAD_DOWN HEX: 0002
+CONSTANT: XINPUT_GAMEPAD_DPAD_LEFT HEX: 0004
+CONSTANT: XINPUT_GAMEPAD_DPAD_RIGHT HEX: 0008
+CONSTANT: XINPUT_GAMEPAD_START HEX: 0010
+CONSTANT: XINPUT_GAMEPAD_BACK HEX: 0020
+CONSTANT: XINPUT_GAMEPAD_LEFT_THUMB HEX: 0040
+CONSTANT: XINPUT_GAMEPAD_RIGHT_THUMB HEX: 0080
+CONSTANT: XINPUT_GAMEPAD_LEFT_SHOULDER HEX: 0100
+CONSTANT: XINPUT_GAMEPAD_RIGHT_SHOULDER HEX: 0200
+CONSTANT: XINPUT_GAMEPAD_A HEX: 1000
+CONSTANT: XINPUT_GAMEPAD_B HEX: 2000
+CONSTANT: XINPUT_GAMEPAD_X HEX: 4000
+CONSTANT: XINPUT_GAMEPAD_Y HEX: 8000
+
+CONSTANT: XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE 7849
+CONSTANT: XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE 8689
+CONSTANT: XINPUT_GAMEPAD_TRIGGER_THRESHOLD 30
+
+CONSTANT: XINPUT_FLAG_GAMEPAD 1
+
+CONSTANT: XUSER_MAX_COUNT 4
+
+CONSTANT: XUSER_INDEX_ANY HEX: 000000FF
+
+CONSTANT: VK_PAD_A HEX: 5800
+CONSTANT: VK_PAD_B HEX: 5801
+CONSTANT: VK_PAD_X HEX: 5802
+CONSTANT: VK_PAD_Y HEX: 5803
+CONSTANT: VK_PAD_RSHOULDER HEX: 5804
+CONSTANT: VK_PAD_LSHOULDER HEX: 5805
+CONSTANT: VK_PAD_LTRIGGER HEX: 5806
+CONSTANT: VK_PAD_RTRIGGER HEX: 5807
+
+CONSTANT: VK_PAD_DPAD_UP HEX: 5810
+CONSTANT: VK_PAD_DPAD_DOWN HEX: 5811
+CONSTANT: VK_PAD_DPAD_LEFT HEX: 5812
+CONSTANT: VK_PAD_DPAD_RIGHT HEX: 5813
+CONSTANT: VK_PAD_START HEX: 5814
+CONSTANT: VK_PAD_BACK HEX: 5815
+CONSTANT: VK_PAD_LTHUMB_PRESS HEX: 5816
+CONSTANT: VK_PAD_RTHUMB_PRESS HEX: 5817
+
+CONSTANT: VK_PAD_LTHUMB_UP HEX: 5820
+CONSTANT: VK_PAD_LTHUMB_DOWN HEX: 5821
+CONSTANT: VK_PAD_LTHUMB_RIGHT HEX: 5822
+CONSTANT: VK_PAD_LTHUMB_LEFT HEX: 5823
+CONSTANT: VK_PAD_LTHUMB_UPLEFT HEX: 5824
+CONSTANT: VK_PAD_LTHUMB_UPRIGHT HEX: 5825
+CONSTANT: VK_PAD_LTHUMB_DOWNRIGHT HEX: 5826
+CONSTANT: VK_PAD_LTHUMB_DOWNLEFT HEX: 5827
+
+CONSTANT: VK_PAD_RTHUMB_UP HEX: 5830
+CONSTANT: VK_PAD_RTHUMB_DOWN HEX: 5831
+CONSTANT: VK_PAD_RTHUMB_RIGHT HEX: 5832
+CONSTANT: VK_PAD_RTHUMB_LEFT HEX: 5833
+CONSTANT: VK_PAD_RTHUMB_UPLEFT HEX: 5834
+CONSTANT: VK_PAD_RTHUMB_UPRIGHT HEX: 5835
+CONSTANT: VK_PAD_RTHUMB_DOWNRIGHT HEX: 5836
+CONSTANT: VK_PAD_RTHUMB_DOWNLEFT HEX: 5837
+
+CONSTANT: XINPUT_KEYSTROKE_KEYDOWN HEX: 0001
+CONSTANT: XINPUT_KEYSTROKE_KEYUP HEX: 0002
+CONSTANT: XINPUT_KEYSTROKE_REPEAT HEX: 0004
+
+STRUCT: XINPUT_GAMEPAD
+ { wButtons WORD }
+ { bLeftTrigger BYTE }
+ { bRightTrigger BYTE }
+ { sThumbLX SHORT }
+ { sThumbLY SHORT }
+ { sThumbRX SHORT }
+ { sThumbRY SHORT } ;
+TYPEDEF: XINPUT_GAMEPAD* PXINPUT_GAMEPAD
+
+STRUCT: XINPUT_VIBRATION
+ { wLeftMotorSpeed WORD }
+ { wRightMotorSpeed WORD } ;
+TYPEDEF: XINPUT_VIBRATION* PXINPUT_VIBRATION
+
+STRUCT: XINPUT_CAPABILITIES
+ { Type BYTE }
+ { SubType BYTE }
+ { Flags WORD }
+ { Gamepad XINPUT_GAMEPAD }
+ { Vibration XINPUT_VIBRATION } ;
+TYPEDEF: XINPUT_CAPABILITIES* PXINPUT_CAPABILITIES
+
+STRUCT: XINPUT_KEYSTROKE
+ { VirtualKey WORD }
+ { Unicode WCHAR }
+ { Flags WORD }
+ { UserIndex BYTE }
+ { HidCode BYTE } ;
+TYPEDEF: XINPUT_KEYSTROKE* PXINPUT_KEYSTROKE
+
+STRUCT: XINPUT_STATE
+ { dwPacketNumber DWORD }
+ { Gamepad XINPUT_GAMEPAD } ;
+TYPEDEF: XINPUT_STATE* PXINPUT_STATE
+
+FUNCTION: DWORD XInputGetCapabilities ( DWORD dwUserIndex, DWORD dwFlags, XINPUT_CAPABILITIES* pCapabilities ) ;
+FUNCTION: DWORD XInputGetKeystroke ( DWORD dwUserIndex, DWORD dwReserved, PXINPUT_KEYSTROKE pKeystroke ) ;
+FUNCTION: DWORD XInputGetState ( DWORD dwUserIndex, XINPUT_STATE* pState ) ;
+FUNCTION: DWORD XInputSetState ( DWORD dwUserIndex, XINPUT_VIBRATION* pVibration ) ;
+FUNCTION: DWORD XInputGetDSoundAudioDeviceGuids ( DWORD dwUserIndex, GUID* pDSoundRenderGuid, GUID* pDSoundCaptureGuid ) ;
+FUNCTION: void XInputEnable ( BOOL enable ) ;
CONSTANT: SC_TASKLIST HEX: f130
CONSTANT: SC_SCREENSAVE HEX: f140
CONSTANT: SC_HOTKEY HEX: f150
+
+CONSTANT: APPCOMMAND_BROWSER_BACKWARD 1
+CONSTANT: APPCOMMAND_BROWSER_FORWARD 2
+CONSTANT: APPCOMMAND_BROWSER_REFRESH 3
+CONSTANT: APPCOMMAND_BROWSER_STOP 4
+CONSTANT: APPCOMMAND_BROWSER_SEARCH 5
+CONSTANT: APPCOMMAND_BROWSER_FAVORITES 6
+CONSTANT: APPCOMMAND_BROWSER_HOME 7
+CONSTANT: APPCOMMAND_VOLUME_MUTE 8
+CONSTANT: APPCOMMAND_VOLUME_DOWN 9
+CONSTANT: APPCOMMAND_VOLUME_UP 10
+CONSTANT: APPCOMMAND_MEDIA_NEXTTRACK 11
+CONSTANT: APPCOMMAND_MEDIA_PREVIOUSTRACK 12
+CONSTANT: APPCOMMAND_MEDIA_STOP 13
+CONSTANT: APPCOMMAND_MEDIA_PLAY_PAUSE 14
+CONSTANT: APPCOMMAND_LAUNCH_MAIL 15
+CONSTANT: APPCOMMAND_LAUNCH_MEDIA_SELECT 16
+CONSTANT: APPCOMMAND_LAUNCH_APP1 17
+CONSTANT: APPCOMMAND_LAUNCH_APP2 18
+CONSTANT: APPCOMMAND_BASS_DOWN 19
+CONSTANT: APPCOMMAND_BASS_BOOST 20
+CONSTANT: APPCOMMAND_BASS_UP 21
+CONSTANT: APPCOMMAND_TREBLE_DOWN 22
+CONSTANT: APPCOMMAND_TREBLE_UP 23
+CONSTANT: APPCOMMAND_MICROPHONE_VOLUME_MUTE 24
+CONSTANT: APPCOMMAND_MICROPHONE_VOLUME_DOWN 25
+CONSTANT: APPCOMMAND_MICROPHONE_VOLUME_UP 26
+CONSTANT: APPCOMMAND_HELP 27
+CONSTANT: APPCOMMAND_FIND 28
+CONSTANT: APPCOMMAND_NEW 29
+CONSTANT: APPCOMMAND_OPEN 30
+CONSTANT: APPCOMMAND_CLOSE 31
+CONSTANT: APPCOMMAND_SAVE 32
+CONSTANT: APPCOMMAND_PRINT 33
+CONSTANT: APPCOMMAND_UNDO 34
+CONSTANT: APPCOMMAND_REDO 35
+CONSTANT: APPCOMMAND_COPY 36
+CONSTANT: APPCOMMAND_CUT 37
+CONSTANT: APPCOMMAND_PASTE 38
+CONSTANT: APPCOMMAND_REPLY_TO_MAIL 39
+CONSTANT: APPCOMMAND_FORWARD_MAIL 40
+CONSTANT: APPCOMMAND_SEND_MAIL 41
+CONSTANT: APPCOMMAND_SPELL_CHECK 42
+CONSTANT: APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE 43
+CONSTANT: APPCOMMAND_MIC_ON_OFF_TOGGLE 44
+CONSTANT: APPCOMMAND_CORRECTION_LIST 45
+CONSTANT: APPCOMMAND_MEDIA_PLAY 46
+CONSTANT: APPCOMMAND_MEDIA_PAUSE 47
+CONSTANT: APPCOMMAND_MEDIA_RECORD 48
+CONSTANT: APPCOMMAND_MEDIA_FAST_FORWARD 49
+CONSTANT: APPCOMMAND_MEDIA_REWIND 50
+CONSTANT: APPCOMMAND_MEDIA_CHANNEL_UP 51
+CONSTANT: APPCOMMAND_MEDIA_CHANNEL_DOWN 52
+CONSTANT: APPCOMMAND_DELETE 53
+CONSTANT: APPCOMMAND_DWM_FLIP3D 54
+
+CONSTANT: FAPPCOMMAND_MOUSE HEX: 8000
+CONSTANT: FAPPCOMMAND_KEY HEX: 0000
+CONSTANT: FAPPCOMMAND_OEM HEX: 1000
+CONSTANT: FAPPCOMMAND_MASK HEX: F000
USING: alien sequences alien.libraries ;
{
- { "advapi32" "advapi32.dll" "stdcall" }
- { "dinput" "dinput8.dll" "stdcall" }
- { "gdi32" "gdi32.dll" "stdcall" }
- { "user32" "user32.dll" "stdcall" }
- { "kernel32" "kernel32.dll" "stdcall" }
- { "winsock" "ws2_32.dll" "stdcall" }
- { "mswsock" "mswsock.dll" "stdcall" }
- { "shell32" "shell32.dll" "stdcall" }
- { "libc" "msvcrt.dll" "cdecl" }
- { "libm" "msvcrt.dll" "cdecl" }
- { "gl" "opengl32.dll" "stdcall" }
- { "glu" "glu32.dll" "stdcall" }
- { "ole32" "ole32.dll" "stdcall" }
- { "usp10" "usp10.dll" "stdcall" }
- { "psapi" "psapi.dll" "stdcall" }
+ { "advapi32" "advapi32.dll" "stdcall" }
+ { "dinput" "dinput8.dll" "stdcall" }
+ { "gdi32" "gdi32.dll" "stdcall" }
+ { "user32" "user32.dll" "stdcall" }
+ { "kernel32" "kernel32.dll" "stdcall" }
+ { "winsock" "ws2_32.dll" "stdcall" }
+ { "mswsock" "mswsock.dll" "stdcall" }
+ { "shell32" "shell32.dll" "stdcall" }
+ { "libc" "msvcrt.dll" "cdecl" }
+ { "libm" "msvcrt.dll" "cdecl" }
+ { "gl" "opengl32.dll" "stdcall" }
+ { "glu" "glu32.dll" "stdcall" }
+ { "ole32" "ole32.dll" "stdcall" }
+ { "usp10" "usp10.dll" "stdcall" }
+ { "psapi" "psapi.dll" "stdcall" }
+ { "xinput" "xinput1_3.dll" "stdcall" }
+ { "dxgi" "dxgi.dll" "stdcall" }
+ { "d2d1" "d2d1.dll" "stdcall" }
+ { "d3d9" "d3d9.dll" "stdcall" }
+ { "d3d10" "d3d10.dll" "stdcall" }
+ { "d3d10_1" "d3d10_1.dll" "stdcall" }
+ { "d3d11" "d3d11.dll" "stdcall" }
+ { "d3dcompiler" "d3dcompiler_42.dll" "stdcall" }
+ { "d3dcsx" "d3dcsx_42.dll" "stdcall" }
+ { "d3dx9" "d3dx9_42.dll" "stdcall" }
+ { "d3dx10" "d3dx10_42.dll" "stdcall" }
+ { "d3dx11" "d3dx11_42.dll" "stdcall" }
+ { "dwrite" "dwrite.dll" "stdcall" }
+ { "x3daudio" "x3daudio1_6.dll" "stdcall" }
+ { "xactengine" "xactengine3_5.dll" "stdcall" }
+ { "xapofx" "xapofx1_3.dll" "stdcall" }
+ { "xaudio2" "xaudio2_5.dll" "stdcall" }
} [ first3 add-library ] each