1 /*!
2 	@file
3 	@author		Albert Semenov
4 	@date		01/2009
5 	@module
6 */
7 #pragma once
8 
9 #include <MyGUI.h>
10 #include "Config.h"
11 #include "MouseButton.h"
12 #include "KeyCode.h"
13 #include "Marshaling.h"
14 
15 namespace MyGUI
16 {
17 	namespace Managed
18 	{
19 
20 		//#ifndef MMYGUI_USING_EXTERNAL_TYPE
21 
22 		public value struct IBNotifyItemData
23 		{
24 			enum struct NotifyItem
25 			{
26 				MousePressed,
27 				MouseReleased,
28 				KeyPressed,
29 				KeyReleased
30 			};
31 
32 			System::UInt32 index;
33 			NotifyItem notify;
34 			int x;
35 			int y;
36 			MouseButton id;
37 			KeyCode code;
38 			System::UInt32 key;
39 		};
40 
41 		//#endif // MMYGUI_USING_EXTERNAL_TYPE
42 
43 		template <> struct Convert<const MyGUI::IBNotifyItemData&>
44 		{
45 			typedef IBNotifyItemData Type;
46 			inline static const IBNotifyItemData& To(const MyGUI::IBNotifyItemData& _value)
47 			{
48 				return reinterpret_cast<const IBNotifyItemData&>(_value);
49 			}
50 			inline static MyGUI::IBNotifyItemData& From(IBNotifyItemData& _value)
51 			{
52 				return reinterpret_cast<MyGUI::IBNotifyItemData&>(_value);
53 			}
54 		};
55 
56 	} // namespace Managed
57 } // namespace MyGUI
58