« PrintScreenした画像をAIRで表示させてみる | メイン | AIRのドラッグ&ドロップ起動について調べてみた »

AIRにドラッグ&ドロップできるものについて調べてみた

AIRアプリにドラッグ&ドロップするためには、NativeDragEvent.NATIVE_DRAG_DROP についてイベントリスナ登録する必要があります。
そこで登録したイベントハンドラが呼ばれる際に引数として渡される NativeDragEvent インスタンスに transferable というプロパティ(TransferableDataインスタンス)があり、そこにドラッグしたデータの情報が全て格納されています。


せっかくなのでどういったものをドラッグすると、どういったデータが AIR に渡されるか調べてみました。

■Firefoxで表示した Web ページのリンクテキストをドラッグした場合

1.TransferableFormats.URL_FORMAT
 リンク先URL

2.TransferableFormats.TEXT_FORMAT
 リンク先URL+テキスト


■Firefoxで表示した Web ページの画像(リンクなし)をドラッグした場合

1.TransferableFormats.URL_FORMAT
 画像URL

2.TransferableFormats.BITMAP_FORMAT
 画像をビットマップデータ化したもの

3.TransferableFormats.FILE_LIST_FORMAT
 おそらくビットマップ化する際に格納したらしき画像ファイル
 格納先 C:\Documents and Settings\{username}\Local Settings\Temp

4.TransferableFormats.TEXT_FORMAT
 画像URL+代替テキスト


■Firefoxで表示した Web ページの画像(リンクあり)をドラッグした場合

1.TransferableFormats.URL_FORMAT
 リンク先URL

2.TransferableFormats.BITMAP_FORMAT
 画像をビットマップデータ化したもの

3.TransferableFormats.FILE_LIST_FORMAT
 おそらくビットマップ化する際に格納したらしき画像ファイル
 格納先 C:\Documents and Settings\{username}\Local Settings\Temp

4.TransferableFormats.TEXT_FORMAT
 リンク先URL+代替テキスト


■PC上のファイルとディレクトリをまとめてドラッグした場合

1.TransferableFormats.FILE_LIST_FORMAT
 ファイルとディレクトリそれぞれのFileインスタンスを格納した配列


■Flashオーサリング環境のステージに配置されているムービークリップをドラッグした場合

1.TransferableFormats.BITMAP_FORMAT
 ムービークリップをビットマップデータ化したもの


■Flashオーサリング環境のステージに配置されているテキストをドラッグした場合

1.TransferableFormats.BITMAP_FORMAT
 テキストをビットマップデータ化したもの


WebページについてはFirefoxで確認しましたが、IEではリンクをドラッグできなかったため割愛しました。
Win版Safariでも若干挙動が異なるようです。

Flashオーサリング環境の配置シンボルについては複数まとめてドラッグすると多少縮小されてしまうのがよく分からない仕様ですが、ビットマップ化された状態とはいえ何か面白いものが作れそうです。

トラックバック

このエントリーのトラックバックURL:
http://void.heteml.jp/mt/mt-tb.cgi/55

コメントを投稿

あわせて読みたい