From df40b85e60021743916161c00de64bb173d324a8 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Thu, 22 Jul 2021 14:28:27 +0200 Subject: [PATCH] Mention Wine->X11 drag-and-drop in architecture.md --- docs/architecture.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/architecture.md b/docs/architecture.md index 8f9485de..7aa0cdef 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -125,6 +125,13 @@ host. For hosts like REAPER where the editor window is embedded in a larger window with more controls this is even more important as it allows you to still interact with those controls using the keyboard. +The last big feature we implement here is support for Wine->X11 drag-and-drop. +All of this happens in `src/wine-host/xdnd-proxy.{h,cpp}`. There we simply rely +on the fact that Wine's OLE drag-and-drop implementation uses a tracker window +that stores the `IDataSource` used for the drop. That means that we can just +listen for that tracker window being created, read the data the plugin is trying +to drag-and-drop, and then set up XDND with that same data. + ## VST2 plugins When a VST2 plugin gets initialized using the process described above, we'll