aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/wnd/dragitemi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/wnd/dragitemi.cpp')
-rw-r--r--Src/Wasabi/api/wnd/dragitemi.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/Src/Wasabi/api/wnd/dragitemi.cpp b/Src/Wasabi/api/wnd/dragitemi.cpp
new file mode 100644
index 00000000..75abde26
--- /dev/null
+++ b/Src/Wasabi/api/wnd/dragitemi.cpp
@@ -0,0 +1,36 @@
+#include <precomp.h>
+#include "dragitemi.h"
+
+DragItemI::DragItemI(const wchar_t *_datatype, void *_data) :
+ datatype(_datatype)
+{
+ if (_data != NULL) addVoidDatum(_data);
+}
+
+void DragItemI::addVoidDatum(void *newdatum)
+{
+ datalist.addItem(reinterpret_cast<char *>(newdatum));
+}
+
+const wchar_t *DragItemI::getDatatype()
+{
+ return datatype;
+};
+
+int DragItemI::getNumData()
+{
+ return datalist.getNumItems();
+}
+
+void *DragItemI::getDatum(int pos)
+{
+ return reinterpret_cast<void *>(datalist[pos]);
+}
+
+#define CBCLASS DragItemI
+START_DISPATCH;
+CB(GETDATATYPE, getDatatype);
+CB(GETNUMDATA, getNumData);
+CB(GETDATUM, getDatum);
+END_DISPATCH;
+#undef CBCLASS