summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmdom.h
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2023-10-11 09:41:11 +1000
committerLorn Potter <lorn.potter@gmail.com>2023-12-21 14:04:57 +1000
commit5af9c3d0e7e244009ffb4195ebcffb32101d8f04 (patch)
tree225791ebac1c118677c33e087a5ec78cad847c01 /src/plugins/platforms/wasm/qwasmdom.h
parentc3a2b9f35a9a12ff3c6f5f0d11844de161b47c2a (diff)
wasm: move DataTransfer to dom::
Change-Id: I069292154bafd1c08a0d0f2e8a62052f596a80f3 Done-with: Mikolaj.Boc@qt.io Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmdom.h')
-rw-r--r--src/plugins/platforms/wasm/qwasmdom.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/plugins/platforms/wasm/qwasmdom.h b/src/plugins/platforms/wasm/qwasmdom.h
index 853e54540e..3ccafba534 100644
--- a/src/plugins/platforms/wasm/qwasmdom.h
+++ b/src/plugins/platforms/wasm/qwasmdom.h
@@ -6,6 +6,8 @@
#include <QtCore/qtconfigmacros.h>
#include <QtCore/QPointF>
+#include <private/qstdweb_p.h>
+#include <QtCore/qnamespace.h>
#include <emscripten/val.h>
@@ -15,10 +17,36 @@
QT_BEGIN_NAMESPACE
+namespace qstdweb {
+ struct CancellationFlag;
+}
+
+class QMimeData;
class QPoint;
class QRect;
namespace dom {
+struct DataTransfer
+{
+ explicit DataTransfer(emscripten::val webDataTransfer);
+ ~DataTransfer();
+ DataTransfer(const DataTransfer &other);
+ DataTransfer(DataTransfer &&other);
+ DataTransfer &operator=(const DataTransfer &other);
+ DataTransfer &operator=(DataTransfer &&other);
+
+ QMimeData *toMimeDataWithFile() ;
+ QMimeData *toMimeDataPreview();
+ void setDragImage(emscripten::val element, const QPoint &hotspot);
+ void setData(std::string format, std::string data);
+ void setDropAction(Qt::DropAction dropAction);
+ void setDataFromMimeData(const QMimeData &mimeData);
+
+ emscripten::val webDataTransfer;
+ emscripten::val m_webFile = emscripten::val::undefined();
+ qstdweb::File m_file;
+};
+
inline emscripten::val document()
{
return emscripten::val::global("document");