uWindowCapture icon indicating copy to clipboard operation
uWindowCapture copied to clipboard

カーソル描画の ON/OFF が動作しない

Open tanaka-kanata opened this issue 4 years ago • 2 comments

下記コードを試しましたがカーソルが常に描画(キャプチャ)されてしまいます。

UwcWindow.cursorDraw = false; UwcWindowTexture.drawCursor = false;

・Exsamples/Single Window → 現象は発生しません。 ・Exsamples/Window List → 現象は発生します。 ・WindowsGraphicsCapture モードで発生します。  Windows10 20H2 で Cursor support の判定は true になっています。

複数のウインドウを対象とした場合に発生しているように思えます。

下記のように「変化判定」のif文をコメントアウトするとカーソル描画は OFF に出来ました。

WindowsGraphicsCapture.cpp

line 297 void WindowsGraphicsCapture::EnableCursorCapture(bool enabled) { //if (isCursorCaptureEnabled_ == enabled) return;

カーソルを OFF にする場合の注意事項などありますでしょうか?

tanaka-kanata avatar Jun 09 '21 02:06 tanaka-kanata

返信が遅くなってしまい大変申し訳ありません。現象報告ありがとうございます。 同条件でテストしたのですが手元ではカーソルの ON/OFF が Window List シーンでも正常に動作するようです。 ちなみに UwcWindowTexture.drawCursor = false はスクリプトから実行されてますでしょうか? それとも Unity の GUI 上で切り替えられていますか?

hecomi avatar Jun 20 '21 13:06 hecomi

前回の報告で間違っている部分がありました。申し訳ありません。 設定の変更はスクリプトから行っており、再度、確認を行ったところ、

UwcWindowListItem::Update に window.cursorDraw = false; を追加した場合はOFFになりませんでしたが、 if (windowTexture != null) { windowTexture.drawCursor = false; } を追加した場合はOFFになりました。

UwcWindow.cursorDraw を操作すると期待する動作にならないようです。

リスナーの OnWindowAdded(UwcWindow window) 呼び出し直後に window.cursorDraw = false; を行い、UwcWindowTexture生成前に カーソルをOFFに出来れば…と思っておりました。

tanaka-kanata avatar Jun 21 '21 02:06 tanaka-kanata