1 /*!
2 	@file
3 	@author		Albert Semenov
4 	@date		01/2009
5 	@module
6 */
7 #pragma once
8 
9 #include <MyGUI.h>
10 #include "Marshaling.h"
11 
12 namespace MyGUI
13 {
14 	namespace Managed
15 	{
16 
17 		#ifndef MMYGUI_USING_EXTERNAL_TYPE
18 
19 		public enum struct MouseButton
20 		{
21 			Left = MyGUI::MouseButton::Left,
22 			Right = MyGUI::MouseButton::Right,
23 			Middle = MyGUI::MouseButton::Middle,
24 
25 			Button0 = MyGUI::MouseButton::Button0,
26 			Button1 = MyGUI::MouseButton::Button1,
27 			Button2 = MyGUI::MouseButton::Button2,
28 			Button3 = MyGUI::MouseButton::Button3,
29 			Button4 = MyGUI::MouseButton::Button4,
30 			Button5 = MyGUI::MouseButton::Button5,
31 			Button6 = MyGUI::MouseButton::Button6,
32 			Button7 = MyGUI::MouseButton::Button7,
33 
34 			None = MyGUI::MouseButton::None
35 		};
36 
37 		#else
38 
39 		typedef MMYGUI_EXTERNAL_NAMESPACE MouseButton MouseButton;
40 
41 		#endif // MMYGUI_USING_EXTERNAL_TYPE
42 
43 		template <> struct Convert<MyGUI::MouseButton>
44 		{
45 			typedef MouseButton Type;
46 			inline static const MouseButton& To(const MyGUI::MouseButton& _value)
47 			{
48 				return reinterpret_cast<const MouseButton&>(_value);
49 			}
50 			inline static MyGUI::MouseButton& From(MouseButton& _value)
51 			{
52 				return reinterpret_cast<MyGUI::MouseButton&>(_value);
53 			}
54 		};
55 
56 	} // namespace Managed
57 } // namespace MyGUI
58