Racket を使用して UI アプリを作成しており、他のアプリケーションから画像などのアイテムをドラッグ アンド ドロップできるようにしたいと考えています。具体的には、ブラウザー (Chrome や FF など) の Web ページから画像をドラッグしcanvas%
、アプリ内にドロップして、結果として生の画像データを受け取りたい (アプリは PNG メタデータを調べてから、ドロップした画像)。
canvas%
クリップボードイベントに関連するクラスまたはスーパークラスに直接機能する (私が見つけることができる) ものはありません。
Swing や Win32 などの他のフレームワークのクリップボード dnd に精通しています。
クラスが必要なもののように見えますclipboard-client%
が、Racket のドキュメントでは、ウィンドウ クラスの 1 つにアタッチすることに関して点を結び付けるのが難しくなっています。
参考になるチュートリアルやサンプル コードはありますか?
更新: clipboard.rkt の Racket ソース (OSX) を調べたところ、「一般的な」ペーストボードにしかアクセスできないようです。OSX には、ドラッグ アンド ドロップ操作用の別のペーストボードがあります。
そのため、OSX 上の Racket では dnd は使用できないようです。Objective-C FFI を使用して必要な機能を実装し、ユーザーを Mac を使用しているユーザーに制限する必要があります。
この質問を閉じます。