コンテンツにスキップ

OverlayMouseRawPointerSource クラス

OpenVR オーバーレイのマウスイベント(ダッシュボードのレーザーポインタ)を RawPointerEvent に変換する入力源。 事前に SetOverlayInputMethod(Mouse) とピクセルサイズの SetOverlayMouseScale が 設定されている前提です。 OpenVR の仕様上マウス座標は原点左下だが、本プロジェクトの OpenGL テクスチャ (ボトムアップ格納)では SteamVR の表示時 v 軸反転と相殺され原点左上で届くことを 実測で確認済みのため、座標はそのまま使用します(y 反転すると上下鏡映になる)。 イベントは PollEvents を呼んだスレッドで発火します。

名前空間: FloatSoda.Engine
アセンブリ: FloatSoda.Engine.dll

public sealed class OverlayMouseRawPointerSource : IRawPointerSource, IDisposable

object ← OverlayMouseRawPointerSource

IRawPointerSource, IDisposable

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

OverlayMouseRawPointerSource(VREventDispatcher)

Section titled “OverlayMouseRawPointerSource(VREventDispatcher)”

指定したイベントディスパッチャへ OpenVR のマウスイベントハンドラーを登録します。

public OverlayMouseRawPointerSource(VREventDispatcher dispatcher)

dispatcher VREventDispatcher

対象オーバーレイのイベントディスパッチャ。

イベントディスパッチャから登録済みの OpenVR マウスイベントハンドラーを解除します。

public void Dispose()

生ポインタイベントの通知。

public event Action<RawPointerEvent>? OnPointerEvent

Action<RawPointerEvent>?