Siv3D / OpenSiv3D

C++20 framework for creative coding 🎮🎨🎹 / Cross-platform support (Windows, macOS, Linux, and the Web)
https://siv3d.github.io/
MIT License
994 stars 136 forks source link

複数ファイルのドラッグを開始する機能の提案 #1218

Closed yksake closed 1 month ago

yksake commented 5 months ago

複数ファイルのドラッグを開始する機能を提案します。

Reputeless commented 5 months ago

開発中の v0.6.15 に実装しました(これまで同様 Windows 版のみ可)。 ご提案ありがとうございました。

# include <Siv3D.hpp>

void Main()
{
    Scene::SetBackground(ColorF{ 0.6, 0.8, 0.7 });

    constexpr Circle drag1Circle{ 200, 200, 50 };
    constexpr Circle drag2Circle{ 400, 200, 50 };

    while (System::Update())
    {
        drag1Circle.draw();

        if (drag1Circle.leftClicked())
        {
            Platform::Windows::DragDrop::MakeDragDrop(U"example/windmill.png");
        }

        drag2Circle.draw();

        if (drag2Circle.leftClicked())
        {
            const Array<FilePath> paths = { U"example/windmill.png", U"example/siv3d-kun.png", U"example/ini/config.ini" };
            Platform::Windows::DragDrop::MakeDragDrop(paths);
        }
    }
}