using SharpDX.Direct3D9; namespace TJAPlayer3 { /// /// プラグインホスト情報提供インターフェース。 /// プラグインでは、On初期化() で渡されるこのインターフェースオブジェクトを通じて、 /// DTXMania の持つ様々なリソースにアクセスできます。 /// public interface IPluginHost { /// /// DTXMania のバージョンを表します。 /// global::TJAPlayer3.CDTXVersion DTXManiaVersion { get; } /// /// Direct3D9 デバイスオブジェクト。 /// ロストしたりリセットしたりすることがあるので、常に同じ値であるとは保証されません。 /// Device D3D9Device { get; } /// /// DirectSound の管理クラス。 /// WAV, XA, OGG, MP3 のサウンドファイルから CSound オブジェクトを生成できます。 /// FDK.CSound管理 Sound管理 { get; } /// /// 描画エリアのサイズを返します(ピクセル単位)。 /// System.Drawing.Size ClientSize { get; } /// /// 現在のステージのIDを表します。 /// global::TJAPlayer3.CStage.Eステージ e現在のステージ { get; } /// /// 現在のステージにおけるフェーズのIDを表します。 /// global::TJAPlayer3.CStage.Eフェーズ e現在のフェーズ { get; } /// /// 自分以外は入力データを扱ってはならないことを宣言します。 /// DTXMania 本体は入力データのポーリングのみを行い、他のプラグインに対しては、On進行描画() の2つの入力に null を渡します。 /// /// 宣言するプラグイン(すなわち this を指定する) /// 占有に成功すれば true を返し、既に誰かが占有中である場合には false を返します。 bool t入力を占有する( IPluginActivity act ); /// /// 自分以外が入力データを扱って良いことを宣言します。 /// DTXMania 本体はポーリング以外の入力処理を開始し、他のプラグインに対しては、On進行描画() の2つの引数に有効な値を渡します。 /// /// 宣言するプラグイン(すなわち this を指定する) /// 占有解除に成功すれば true、失敗すれば flase を返します。 bool t入力の占有を解除する( IPluginActivity act ); /// /// 指定されたシステムサウンド/BGMを再生します。 /// /// 再生するシステムサウンドの識別子。 void tシステムサウンドを再生する( Eシステムサウンド sound ); } }