missing project/build files
[client-tools.git] / src / external / 3rd / library / directx9 / include / d3dx9shape.h
blob4c23091560800da77665751bac2566452a55b3de
1 ///////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) Microsoft Corporation. All Rights Reserved.
4 //
5 // File: d3dx9shapes.h
6 // Content: D3DX simple shapes
7 //
8 ///////////////////////////////////////////////////////////////////////////
10 #include "d3dx9.h"
12 #ifndef __D3DX9SHAPES_H__
13 #define __D3DX9SHAPES_H__
15 ///////////////////////////////////////////////////////////////////////////
16 // Functions:
17 ///////////////////////////////////////////////////////////////////////////
19 #ifdef __cplusplus
20 extern "C" {
21 #endif //__cplusplus
24 //-------------------------------------------------------------------------
25 // D3DXCreatePolygon:
26 // ------------------
27 // Creates a mesh containing an n-sided polygon. The polygon is centered
28 // at the origin.
30 // Parameters:
32 // pDevice The D3D device with which the mesh is going to be used.
33 // Length Length of each side.
34 // Sides Number of sides the polygon has. (Must be >= 3)
35 // ppMesh The mesh object which will be created
36 // ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
37 //-------------------------------------------------------------------------
38 HRESULT WINAPI
39 D3DXCreatePolygon(
40 LPDIRECT3DDEVICE9 pDevice,
41 FLOAT Length,
42 UINT Sides,
43 LPD3DXMESH* ppMesh,
44 LPD3DXBUFFER* ppAdjacency);
47 //-------------------------------------------------------------------------
48 // D3DXCreateBox:
49 // --------------
50 // Creates a mesh containing an axis-aligned box. The box is centered at
51 // the origin.
53 // Parameters:
55 // pDevice The D3D device with which the mesh is going to be used.
56 // Width Width of box (along X-axis)
57 // Height Height of box (along Y-axis)
58 // Depth Depth of box (along Z-axis)
59 // ppMesh The mesh object which will be created
60 // ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
61 //-------------------------------------------------------------------------
62 HRESULT WINAPI
63 D3DXCreateBox(
64 LPDIRECT3DDEVICE9 pDevice,
65 FLOAT Width,
66 FLOAT Height,
67 FLOAT Depth,
68 LPD3DXMESH* ppMesh,
69 LPD3DXBUFFER* ppAdjacency);
72 //-------------------------------------------------------------------------
73 // D3DXCreateCylinder:
74 // -------------------
75 // Creates a mesh containing a cylinder. The generated cylinder is
76 // centered at the origin, and its axis is aligned with the Z-axis.
78 // Parameters:
80 // pDevice The D3D device with which the mesh is going to be used.
81 // Radius1 Radius at -Z end (should be >= 0.0f)
82 // Radius2 Radius at +Z end (should be >= 0.0f)
83 // Length Length of cylinder (along Z-axis)
84 // Slices Number of slices about the main axis
85 // Stacks Number of stacks along the main axis
86 // ppMesh The mesh object which will be created
87 // ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
88 //-------------------------------------------------------------------------
89 HRESULT WINAPI
90 D3DXCreateCylinder(
91 LPDIRECT3DDEVICE9 pDevice,
92 FLOAT Radius1,
93 FLOAT Radius2,
94 FLOAT Length,
95 UINT Slices,
96 UINT Stacks,
97 LPD3DXMESH* ppMesh,
98 LPD3DXBUFFER* ppAdjacency);
101 //-------------------------------------------------------------------------
102 // D3DXCreateSphere:
103 // -----------------
104 // Creates a mesh containing a sphere. The sphere is centered at the
105 // origin.
107 // Parameters:
109 // pDevice The D3D device with which the mesh is going to be used.
110 // Radius Radius of the sphere (should be >= 0.0f)
111 // Slices Number of slices about the main axis
112 // Stacks Number of stacks along the main axis
113 // ppMesh The mesh object which will be created
114 // ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
115 //-------------------------------------------------------------------------
116 HRESULT WINAPI
117 D3DXCreateSphere(
118 LPDIRECT3DDEVICE9 pDevice,
119 FLOAT Radius,
120 UINT Slices,
121 UINT Stacks,
122 LPD3DXMESH* ppMesh,
123 LPD3DXBUFFER* ppAdjacency);
126 //-------------------------------------------------------------------------
127 // D3DXCreateTorus:
128 // ----------------
129 // Creates a mesh containing a torus. The generated torus is centered at
130 // the origin, and its axis is aligned with the Z-axis.
132 // Parameters:
134 // pDevice The D3D device with which the mesh is going to be used.
135 // InnerRadius Inner radius of the torus (should be >= 0.0f)
136 // OuterRadius Outer radius of the torue (should be >= 0.0f)
137 // Sides Number of sides in a cross-section (must be >= 3)
138 // Rings Number of rings making up the torus (must be >= 3)
139 // ppMesh The mesh object which will be created
140 // ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
141 //-------------------------------------------------------------------------
142 HRESULT WINAPI
143 D3DXCreateTorus(
144 LPDIRECT3DDEVICE9 pDevice,
145 FLOAT InnerRadius,
146 FLOAT OuterRadius,
147 UINT Sides,
148 UINT Rings,
149 LPD3DXMESH* ppMesh,
150 LPD3DXBUFFER* ppAdjacency);
153 //-------------------------------------------------------------------------
154 // D3DXCreateTeapot:
155 // -----------------
156 // Creates a mesh containing a teapot.
158 // Parameters:
160 // pDevice The D3D device with which the mesh is going to be used.
161 // ppMesh The mesh object which will be created
162 // ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
163 //-------------------------------------------------------------------------
164 HRESULT WINAPI
165 D3DXCreateTeapot(
166 LPDIRECT3DDEVICE9 pDevice,
167 LPD3DXMESH* ppMesh,
168 LPD3DXBUFFER* ppAdjacency);
171 //-------------------------------------------------------------------------
172 // D3DXCreateText:
173 // ---------------
174 // Creates a mesh containing the specified text using the font associated
175 // with the device context.
177 // Parameters:
179 // pDevice The D3D device with which the mesh is going to be used.
180 // hDC Device context, with desired font selected
181 // pText Text to generate
182 // Deviation Maximum chordal deviation from true font outlines
183 // Extrusion Amount to extrude text in -Z direction
184 // ppMesh The mesh object which will be created
185 // pGlyphMetrics Address of buffer to receive glyph metric data (or NULL)
186 //-------------------------------------------------------------------------
187 HRESULT WINAPI
188 D3DXCreateTextA(
189 LPDIRECT3DDEVICE9 pDevice,
190 HDC hDC,
191 LPCSTR pText,
192 FLOAT Deviation,
193 FLOAT Extrusion,
194 LPD3DXMESH* ppMesh,
195 LPD3DXBUFFER* ppAdjacency,
196 LPGLYPHMETRICSFLOAT pGlyphMetrics);
198 HRESULT WINAPI
199 D3DXCreateTextW(
200 LPDIRECT3DDEVICE9 pDevice,
201 HDC hDC,
202 LPCWSTR pText,
203 FLOAT Deviation,
204 FLOAT Extrusion,
205 LPD3DXMESH* ppMesh,
206 LPD3DXBUFFER* ppAdjacency,
207 LPGLYPHMETRICSFLOAT pGlyphMetrics);
209 #ifdef UNICODE
210 #define D3DXCreateText D3DXCreateTextW
211 #else
212 #define D3DXCreateText D3DXCreateTextA
213 #endif
216 #ifdef __cplusplus
218 #endif //__cplusplus
220 #endif //__D3DX9SHAPES_H__