MyGUI
3.2.1
|
00001 /* 00002 * This source file is part of MyGUI. For the latest info, see http://mygui.info/ 00003 * Distributed under the MIT License 00004 * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT) 00005 */ 00006 00007 #ifndef __MYGUI_ITEM_DROP_INFO_H__ 00008 #define __MYGUI_ITEM_DROP_INFO_H__ 00009 00010 #include "MyGUI_Prerequest.h" 00011 00012 namespace MyGUI 00013 { 00014 00015 struct MYGUI_EXPORT DDItemState 00016 { 00017 enum Enum 00018 { 00019 None, 00020 Start, 00021 End, 00022 Miss, 00023 Accept, 00024 Refuse 00025 }; 00026 00027 DDItemState(Enum _value = None) : 00028 mValue(_value) 00029 { 00030 } 00031 00032 friend bool operator == (DDItemState const& a, DDItemState const& b) 00033 { 00034 return a.mValue == b.mValue; 00035 } 00036 00037 friend bool operator != (DDItemState const& a, DDItemState const& b) 00038 { 00039 return a.mValue != b.mValue; 00040 } 00041 00042 int getValue() const 00043 { 00044 return mValue; 00045 } 00046 00047 private: 00048 Enum mValue; 00049 }; 00050 00051 // структура информации об индексах дропа 00053 struct MYGUI_EXPORT DDItemInfo 00054 { 00055 DDItemInfo() : 00056 sender(nullptr), 00057 sender_index(ITEM_NONE), 00058 receiver(nullptr), 00059 receiver_index(ITEM_NONE) 00060 { 00061 } 00062 00063 DDItemInfo(DDContainer* _sender, size_t _sender_index, DDContainer* _receiver, size_t _receiver_index) : 00064 sender(_sender), 00065 sender_index(_sender_index), 00066 receiver(_receiver), 00067 receiver_index(_receiver_index) 00068 { 00069 } 00070 00071 void set(DDContainer* _sender, size_t _sender_index, DDContainer* _receiver, size_t _receiver_index) 00072 { 00073 sender = _sender; 00074 sender_index = _sender_index; 00075 receiver = _receiver; 00076 receiver_index = _receiver_index; 00077 } 00078 00079 void reset() 00080 { 00081 sender = nullptr; 00082 sender_index = ITEM_NONE; 00083 receiver = nullptr; 00084 receiver_index = ITEM_NONE; 00085 } 00086 00088 DDContainer* sender; 00090 size_t sender_index; 00091 00093 DDContainer* receiver; 00095 size_t receiver_index; 00096 }; 00097 00098 struct MYGUI_EXPORT DDWidgetState 00099 { 00100 DDWidgetState(size_t _index) : 00101 index(_index), 00102 update(true), 00103 accept(false), 00104 refuse(false) 00105 { 00106 } 00107 00109 size_t index; 00111 bool update; 00113 bool accept; 00115 bool refuse; 00116 }; 00117 00118 } // namespace MyGUI 00119 00120 #endif // __MYGUI_ITEM_DROP_INFO_H__