OSDN Git Service

#36897 [DTXC] MIDIインポート機能の呼び出し口を、ファイルメニュー内にも配置。
[dtxmania/dtxmania.git] / SlimDXc_Jun2010(VC++2008) / source / direct3d9 / ConstantTable.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 #include "../math/Color4.h"\r
25 #include "../math/Matrix.h"\r
26 #include "../math/Vector4.h"\r
27 \r
28 #include "ConstantTableDescription.h"\r
29 #include "ConstantDescription.h"\r
30 \r
31 namespace SlimDX\r
32 {\r
33         ref class DataStream;\r
34 \r
35         namespace Direct3D9\r
36         {\r
37                 ref class EffectHandle;\r
38                 ref class Device;\r
39                 \r
40                 /// <summary>\r
41                 /// Used to access the constant table. This table contains the variables that are used by high-level language shaders and effects.\r
42                 /// </summary>\r
43                 /// <unmanaged>ID3DXConstantTable</unmanaged>\r
44                 public ref class ConstantTable : public ComObject\r
45                 {\r
46                         COMOBJECT(ID3DXConstantTable, ConstantTable);\r
47 \r
48                 public:\r
49                         EffectHandle^ GetConstant( EffectHandle^ handle, int index );\r
50                         EffectHandle^ GetConstant( EffectHandle^ handle, System::String^ name );\r
51                         EffectHandle^ GetConstantElement( EffectHandle^ handle, int index );\r
52                         ConstantDescription GetConstantDescription( EffectHandle^ handle );\r
53                         array<ConstantDescription>^ GetConstantDescriptionArray( EffectHandle^ handle );\r
54                         \r
55                         int GetSamplerIndex( EffectHandle^ sampler );\r
56                         Result SetDefaults( Device^ device );\r
57 \r
58                         /// <summary>\r
59                         /// Sets the value of a parameter using the specified data.\r
60                         /// </summary>\r
61                         /// <param name="parameter">The parameter whose value is to be set.</param>\r
62                         /// <param name="value">The new value for the parameter.</param>\r
63                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
64                         generic<typename T> where T : value class\r
65                                 Result SetValue( Device^ device, EffectHandle^ parameter, T value );\r
66 \r
67                         /// <summary>\r
68                         /// Sets the value of a parameter using the specified data.\r
69                         /// </summary>\r
70                         /// <param name="parameter">The array parameter whose value is to be set.</param>\r
71                         /// <param name="values">The array of new values for the array parameter.</param>\r
72                         /// <returns>A <see cref="SlimDX::Result"/> object describing the result of the operation.</returns>\r
73                         generic<typename T> where T : value class\r
74                                 Result SetValue( Device^ device, EffectHandle^ parameter, array<T>^ values );\r
75 \r
76                         property DataStream^ Buffer\r
77                         {\r
78                                 DataStream^ get();\r
79                         }\r
80 \r
81                         property int BufferSize\r
82                         {\r
83                                 int get() { return InternalPointer->GetBufferSize(); }\r
84                         }\r
85 \r
86                         property ConstantTableDescription Description\r
87                         {\r
88                                 ConstantTableDescription get();\r
89                         }\r
90                 };\r
91         }\r
92 }\r