OSDN Git Service

DTXMania089リリースに際してのtag付け。
[dtxmania/dtxmania.git] / 110401(DTXMania089) / SlimDXc_Jun2010(VC++2008) / source / direct3d9 / CallbackKey.cpp
1 #include "stdafx.h"\r
2 /*\r
3 * Copyright (c) 2007-2010 SlimDX Group\r
4\r
5 * Permission is hereby granted, free of charge, to any person obtaining a copy\r
6 * of this software and associated documentation files (the "Software"), to deal\r
7 * in the Software without restriction, including without limitation the rights\r
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
9 * copies of the Software, and to permit persons to whom the Software is\r
10 * furnished to do so, subject to the following conditions:\r
11\r
12 * The above copyright notice and this permission notice shall be included in\r
13 * all copies or substantial portions of the Software.\r
14\r
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
21 * THE SOFTWARE.\r
22 */\r
23 #include <d3d9.h>\r
24 #include <d3dx9.h>\r
25 #include <vcclr.h>\r
26 \r
27 #include "../ComObject.h"\r
28 #include "../Math/Vector3.h"\r
29 #include "../DataStream.h"\r
30 \r
31 #include "CallbackKey.h"\r
32 \r
33 using namespace System;\r
34 \r
35 namespace SlimDX\r
36 {\r
37 namespace Direct3D9\r
38 {\r
39         CallbackKey::CallbackKey( const D3DXKEY_CALLBACK &key )\r
40         {\r
41                 Time = key.Time;\r
42                 Data = IntPtr( key.pCallbackData );\r
43         }\r
44 \r
45         bool CallbackKey::operator == ( CallbackKey left, CallbackKey right )\r
46         {\r
47                 return CallbackKey::Equals( left, right );\r
48         }\r
49 \r
50         bool CallbackKey::operator != ( CallbackKey left, CallbackKey right )\r
51         {\r
52                 return !CallbackKey::Equals( left, right );\r
53         }\r
54 \r
55         int CallbackKey::GetHashCode()\r
56         {\r
57                 return Time.GetHashCode() + Data.GetHashCode();\r
58         }\r
59 \r
60         bool CallbackKey::Equals( Object^ value )\r
61         {\r
62                 if( value == nullptr )\r
63                         return false;\r
64 \r
65                 if( value->GetType() != GetType() )\r
66                         return false;\r
67 \r
68                 return Equals( safe_cast<CallbackKey>( value ) );\r
69         }\r
70 \r
71         bool CallbackKey::Equals( CallbackKey value )\r
72         {\r
73                 return ( Time == value.Time && Data == value.Data );\r
74         }\r
75 \r
76         bool CallbackKey::Equals( CallbackKey% value1, CallbackKey% value2 )\r
77         {\r
78                 return ( value1.Time == value2.Time && value1.Data == value2.Data );\r
79         }\r
80 \r
81         RotationKey::RotationKey( const D3DXKEY_QUATERNION &key )\r
82         {\r
83                 Time = key.Time;\r
84                 Value = Quaternion( key.Value.x, key.Value.y, key.Value.z, key.Value.w );\r
85         }\r
86 \r
87         bool RotationKey::operator == ( RotationKey left, RotationKey right )\r
88         {\r
89                 return RotationKey::Equals( left, right );\r
90         }\r
91 \r
92         bool RotationKey::operator != ( RotationKey left, RotationKey right )\r
93         {\r
94                 return !RotationKey::Equals( left, right );\r
95         }\r
96 \r
97         int RotationKey::GetHashCode()\r
98         {\r
99                 return Time.GetHashCode() + Value.GetHashCode();\r
100         }\r
101 \r
102         bool RotationKey::Equals( Object^ value )\r
103         {\r
104                 if( value == nullptr )\r
105                         return false;\r
106 \r
107                 if( value->GetType() != GetType() )\r
108                         return false;\r
109 \r
110                 return Equals( safe_cast<RotationKey>( value ) );\r
111         }\r
112 \r
113         bool RotationKey::Equals( RotationKey value )\r
114         {\r
115                 return ( Time == value.Time && Value == value.Value );\r
116         }\r
117 \r
118         bool RotationKey::Equals( RotationKey% value1, RotationKey% value2 )\r
119         {\r
120                 return ( value1.Time == value2.Time && value1.Value == value2.Value );\r
121         }\r
122 \r
123         ScaleKey::ScaleKey( const D3DXKEY_VECTOR3 &key )\r
124         {\r
125                 Time = key.Time;\r
126                 Value = Vector3( key.Value.x, key.Value.y, key.Value.z );\r
127         }\r
128 \r
129         bool ScaleKey::operator == ( ScaleKey left, ScaleKey right )\r
130         {\r
131                 return ScaleKey::Equals( left, right );\r
132         }\r
133 \r
134         bool ScaleKey::operator != ( ScaleKey left, ScaleKey right )\r
135         {\r
136                 return !ScaleKey::Equals( left, right );\r
137         }\r
138 \r
139         int ScaleKey::GetHashCode()\r
140         {\r
141                 return Time.GetHashCode() + Value.GetHashCode();\r
142         }\r
143 \r
144         bool ScaleKey::Equals( Object^ value )\r
145         {\r
146                 if( value == nullptr )\r
147                         return false;\r
148 \r
149                 if( value->GetType() != GetType() )\r
150                         return false;\r
151 \r
152                 return Equals( safe_cast<ScaleKey>( value ) );\r
153         }\r
154 \r
155         bool ScaleKey::Equals( ScaleKey value )\r
156         {\r
157                 return ( Time == value.Time && Value == value.Value );\r
158         }\r
159 \r
160         bool ScaleKey::Equals( ScaleKey% value1, ScaleKey% value2 )\r
161         {\r
162                 return ( value1.Time == value2.Time && value1.Value == value2.Value );\r
163         }\r
164 \r
165         TranslationKey::TranslationKey( const D3DXKEY_VECTOR3 &key )\r
166         {\r
167                 Time = key.Time;\r
168                 Value = Vector3( key.Value.x, key.Value.y, key.Value.z );\r
169         }\r
170 \r
171         bool TranslationKey::operator == ( TranslationKey left, TranslationKey right )\r
172         {\r
173                 return TranslationKey::Equals( left, right );\r
174         }\r
175 \r
176         bool TranslationKey::operator != ( TranslationKey left, TranslationKey right )\r
177         {\r
178                 return !TranslationKey::Equals( left, right );\r
179         }\r
180 \r
181         int TranslationKey::GetHashCode()\r
182         {\r
183                 return Time.GetHashCode() + Value.GetHashCode();\r
184         }\r
185 \r
186         bool TranslationKey::Equals( Object^ value )\r
187         {\r
188                 if( value == nullptr )\r
189                         return false;\r
190 \r
191                 if( value->GetType() != GetType() )\r
192                         return false;\r
193 \r
194                 return Equals( safe_cast<TranslationKey>( value ) );\r
195         }\r
196 \r
197         bool TranslationKey::Equals( TranslationKey value )\r
198         {\r
199                 return ( Time == value.Time && Value == value.Value );\r
200         }\r
201 \r
202         bool TranslationKey::Equals( TranslationKey% value1, TranslationKey% value2 )\r
203         {\r
204                 return ( value1.Time == value2.Time && value1.Value == value2.Value );\r
205         }\r
206 }\r
207 }