OpenSiv3D icon indicating copy to clipboard operation
OpenSiv3D copied to clipboard

コピー機能や選択機能に付いて

Open yama-can opened this issue 1 year ago • 7 comments

コピー機能や選択機能などを標準機能として追加してほしいです。

この機能を追加することにより、ゲームのみならずツールなどが作りやすくなります。

ChromeやExcelなどにある選択機能と同じ感じに作って欲しいです。

yama-can avatar Mar 25 '23 04:03 yama-can

Siv3D のテキスト処理の仕組みは、Chrome や Excel などと異なるため、すぐには難しいですが、テキストボックスなど部分的にそのような機能を追加していく予定です。

Glyph ベースのテキストレンダリング で、個々の文字の座標を保存しておくことで、似たような機能を自作することができます(難易度は高いです)。

それ以外で、Siv3D v0.6.7 時点で柔軟な選択やコピーを実現する機能として次のようなものがあります。

  • Clipboard::SetText(text) - 指定した文字列をクリップボードにコピーします
  • HTMLWriter + System::LaunchBrowser() - HTML ファイルをプログラムで作成し、それを外部の Web ブラウザで開きます

Reputeless avatar Mar 25 '23 04:03 Reputeless

ありがとうございます。試しに使用させていただきます。

yama-can avatar Mar 26 '23 07:03 yama-can

コードの方に実装できるかどうかを試してみます。

yama-can avatar Mar 28 '23 00:03 yama-can

実装会で相談した、範囲選択を自分で作ってみたものです。 https://gist.github.com/MrMocchy/575dba84f06220b611c21fe28dcd2531 できることとToDoはMarkDownをご覧ください。

MrMocchy avatar May 05 '23 07:05 MrMocchy

選択範囲の背景色の描画の問題を解決しましたので、上のGistのコードを更新しました。

それとは別にclipRectを廃止するなど既存のコードを変更(MarkDownに記載)しているので、そちらの確認もしていただきたいです。

MrMocchy avatar May 31 '23 14:05 MrMocchy

この機能追加を v0.6.12 での調査・作業内容に追加しました。

Reputeless avatar Aug 05 '23 16:08 Reputeless