OSDN Git Service

#36897 [DTXC] MIDIインポート機能の呼び出し口を、ファイルメニュー内にも配置。
[dtxmania/dtxmania.git] / SlimDXc_Jun2010(VC++2008) / source / direct3d9 / TextureShader.h
1 /*\r
2 * Copyright (c) 2007-2010 SlimDX Group\r
3\r
4 * Permission is hereby granted, free of charge, to any person obtaining a copy\r
5 * of this software and associated documentation files (the "Software"), to deal\r
6 * in the Software without restriction, including without limitation the rights\r
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
8 * copies of the Software, and to permit persons to whom the Software is\r
9 * furnished to do so, subject to the following conditions:\r
10\r
11 * The above copyright notice and this permission notice shall be included in\r
12 * all copies or substantial portions of the Software.\r
13\r
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
20 * THE SOFTWARE.\r
21 */\r
22 #pragma once\r
23 \r
24 namespace SlimDX\r
25 {\r
26         namespace Direct3D9\r
27         {\r
28                 /// <summary>\r
29                 /// Represents a compiled shader designed to fill textures with image data.\r
30                 /// </summary>\r
31                 /// <unmanaged>ID3DXTextureShader</unmanaged>\r
32                 public ref class TextureShader : public ComObject\r
33                 {\r
34                         COMOBJECT(ID3DXTextureShader, TextureShader);\r
35 \r
36                 public:\r
37                         /// <summary>\r
38                         /// Initializes a new instance of the <see cref="TextureShader"/> class.\r
39                         /// </summary>\r
40                         /// <param name="stream">A stream of compiled shader data.</param>\r
41                         TextureShader( DataStream^ stream );\r
42 \r
43                         /// <summary>\r
44                         /// Gets a constant by looking up its index.\r
45                         /// </summary>\r
46                         /// <param name="parent">The parent handle.</param>\r
47                         /// <param name="index">The index of the constant.</param>\r
48                         /// <returns>A handle to the constant data.</returns>\r
49                         EffectHandle^ GetConstant( EffectHandle^ parent, int index );\r
50 \r
51                         /// <summary>\r
52                         /// Gets a constant by looking up its name.\r
53                         /// </summary>\r
54                         /// <param name="parent">The parent handle.</param>\r
55                         /// <param name="name">The name of the constant.</param>\r
56                         /// <returns>A handle to the constant data.</returns>\r
57                         EffectHandle^ GetConstant( EffectHandle^ parent, System::String^ name );\r
58 \r
59                         /// <summary>\r
60                         /// Gets a constant from the constant table.\r
61                         /// </summary>\r
62                         /// <param name="handle">The array handle.</param>\r
63                         /// <param name="index">The index of the constant.</param>\r
64                         /// <returns>A handle to the constant data.</returns>\r
65                         EffectHandle^ GetConstantElement( EffectHandle^ handle, int index );\r
66 \r
67                         /// <summary>\r
68                         /// Gets a description for a constant.\r
69                         /// </summary>\r
70                         /// <param name="handle">The constant handle.</param>\r
71                         /// <returns>The description of the constant.</returns>\r
72                         ConstantDescription GetConstantDescription( EffectHandle^ handle );\r
73 \r
74                         /// <summary>\r
75                         /// Gets a list of descriptions for an array constant.\r
76                         /// </summary>\r
77                         /// <param name="handle">The array handle.</param>\r
78                         /// <returns>The list of constant descriptions.</returns>\r
79                         array<ConstantDescription>^ GetConstantDescriptionArray( EffectHandle^ handle );\r
80 \r
81                         /// <summary>\r
82                         /// Sets an effect parameter value.\r
83                         /// </summary>\r
84                         /// <param name="parameter">The effect parameter.</param>\r
85                         /// <param name="value">The parameter value.</param>\r
86                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
87                         Result SetValue( EffectHandle^ parameter, bool value );\r
88 \r
89                         /// <summary>\r
90                         /// Sets an array of effect parameter values.\r
91                         /// </summary>\r
92                         /// <param name="parameter">The effect parameter.</param>\r
93                         /// <param name="values">The parameter values.</param>\r
94                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
95                         Result SetValue( EffectHandle^ parameter, array<bool>^ values );\r
96 \r
97                         /// <summary>\r
98                         /// Sets an effect parameter value.\r
99                         /// </summary>\r
100                         /// <param name="parameter">The effect parameter.</param>\r
101                         /// <param name="value">The parameter value.</param>\r
102                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
103                         Result SetValue( EffectHandle^ parameter, int value );\r
104 \r
105                         /// <summary>\r
106                         /// Sets an array of effect parameter values.\r
107                         /// </summary>\r
108                         /// <param name="parameter">The effect parameter.</param>\r
109                         /// <param name="values">The parameter values.</param>\r
110                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
111                         Result SetValue( EffectHandle^ parameter, array<int>^ values );\r
112 \r
113                         /// <summary>\r
114                         /// Sets an effect parameter value.\r
115                         /// </summary>\r
116                         /// <param name="parameter">The effect parameter.</param>\r
117                         /// <param name="value">The parameter value.</param>\r
118                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
119                         Result SetValue( EffectHandle^ parameter, float value );\r
120 \r
121                         /// <summary>\r
122                         /// Sets an array of effect parameter values.\r
123                         /// </summary>\r
124                         /// <param name="parameter">The effect parameter.</param>\r
125                         /// <param name="values">The parameter values.</param>\r
126                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
127                         Result SetValue( EffectHandle^ parameter, array<float>^ values );\r
128 \r
129                         /// <summary>\r
130                         /// Sets an effect parameter value.\r
131                         /// </summary>\r
132                         /// <param name="parameter">The effect parameter.</param>\r
133                         /// <param name="value">The parameter value.</param>\r
134                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
135                         Result SetValue( EffectHandle^ parameter, Vector4 value );\r
136 \r
137                         /// <summary>\r
138                         /// Sets an array of effect parameter values.\r
139                         /// </summary>\r
140                         /// <param name="parameter">The effect parameter.</param>\r
141                         /// <param name="values">The parameter values.</param>\r
142                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
143                         Result SetValue( EffectHandle^ parameter, array<Vector4>^ values );\r
144 \r
145                         /// <summary>\r
146                         /// Sets an effect parameter value.\r
147                         /// </summary>\r
148                         /// <param name="parameter">The effect parameter.</param>\r
149                         /// <param name="value">The parameter value.</param>\r
150                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
151                         Result SetValue( EffectHandle^ parameter, Color4 value );\r
152 \r
153                         /// <summary>\r
154                         /// Sets an array of effect parameter values.\r
155                         /// </summary>\r
156                         /// <param name="parameter">The effect parameter.</param>\r
157                         /// <param name="values">The parameter values.</param>\r
158                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
159                         Result SetValue( EffectHandle^ parameter, array<Color4>^ values );\r
160 \r
161                         /// <summary>\r
162                         /// Sets an effect parameter value.\r
163                         /// </summary>\r
164                         /// <param name="parameter">The effect parameter.</param>\r
165                         /// <param name="value">The parameter value.</param>\r
166                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
167                         Result SetValue( EffectHandle^ parameter, Matrix value );\r
168 \r
169                         /// <summary>\r
170                         /// Sets an array of effect parameter values.\r
171                         /// </summary>\r
172                         /// <param name="parameter">The effect parameter.</param>\r
173                         /// <param name="values">The parameter values.</param>\r
174                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
175                         Result SetValue( EffectHandle^ parameter, array<Matrix>^ values );\r
176 \r
177                         /// <summary>\r
178                         /// Sets an effect parameter value.\r
179                         /// </summary>\r
180                         /// <param name="parameter">The effect parameter.</param>\r
181                         /// <param name="value">The parameter value.</param>\r
182                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
183                         Result SetValueTranspose( EffectHandle^ parameter, Matrix value );\r
184 \r
185                         /// <summary>\r
186                         /// Sets an array of effect parameter values.\r
187                         /// </summary>\r
188                         /// <param name="parameter">The effect parameter.</param>\r
189                         /// <param name="values">The parameter values.</param>\r
190                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
191                         Result SetValueTranspose( EffectHandle^ parameter, array<Matrix>^ values );\r
192 \r
193                         /// <summary>\r
194                         /// Resets constant values to those defined in the shader.\r
195                         /// </summary>\r
196                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
197                         Result SetDefaults();\r
198 \r
199                         /// <summary>\r
200                         /// Gets the constant table description.\r
201                         /// </summary>\r
202                         property ConstantTableDescription Description\r
203                         {\r
204                                 ConstantTableDescription get();\r
205                         }\r
206 \r
207                         /// <summary>\r
208                         /// Gets the raw stream of constant data.\r
209                         /// </summary>\r
210                         property DataStream^ ConstantBuffer\r
211                         {\r
212                                 DataStream^ get();\r
213                         }\r
214 \r
215                         /// <summary>\r
216                         /// Gets the raw shader stream.\r
217                         /// </summary>\r
218                         property DataStream^ FunctionStream\r
219                         {\r
220                                 DataStream^ get();\r
221                         }\r
222                 };\r
223         }\r
224 }