OSDN Git Service

Merge branch 'feature/37178_プロジェクトとソリューションファイルの英語化' into develop
[dtxmania/dtxmania.git] / FDK17プロジェクト / コード / 02.入力 / CInputMouse.cs
diff --git a/FDK17プロジェクト/コード/02.入力/CInputMouse.cs b/FDK17プロジェクト/コード/02.入力/CInputMouse.cs
deleted file mode 100644 (file)
index 87e4ed4..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Diagnostics;\r
-using SharpDX;\r
-using SharpDX.DirectInput;\r
-\r
-namespace FDK\r
-{\r
-       public class CInputMouse : IInputDevice, IDisposable\r
-       {\r
-               // 定数\r
-\r
-               public const int nマウスの最大ボタン数 = 8;\r
-\r
-\r
-               // コンストラクタ\r
-\r
-               public CInputMouse( IntPtr hWnd, DirectInput directInput )\r
-               {\r
-                       this.e入力デバイス種別 = E入力デバイス種別.Mouse;\r
-                       this.GUID = "";\r
-                       this.ID = 0;\r
-                       try\r
-                       {\r
-                               this.devMouse = new Mouse( directInput );\r
-                               this.devMouse.SetCooperativeLevel( hWnd, CooperativeLevel.Foreground | CooperativeLevel.NonExclusive );\r
-                               this.devMouse.Properties.BufferSize = 0x20;\r
-                               Trace.TraceInformation( this.devMouse.Information.ProductName + " を生成しました。" );\r
-                       }\r
-                       catch\r
-                       {\r
-                               if( this.devMouse != null )\r
-                               {\r
-                                       this.devMouse.Dispose();\r
-                                       this.devMouse = null;\r
-                               }\r
-                               Trace.TraceWarning( "Mouse デバイスの生成に失敗しました。" );\r
-                               throw;\r
-                       }\r
-                       try\r
-                       {\r
-                               this.devMouse.Acquire();\r
-                       }\r
-                       catch\r
-                       {\r
-                       }\r
-\r
-                       for( int i = 0; i < this.bMouseState.Length; i++ )\r
-                               this.bMouseState[ i ] = false;\r
-\r
-                       //this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
-                       this.list入力イベント = new List<STInputEvent>( 32 );\r
-               }\r
-\r
-\r
-               // メソッド\r
-\r
-               #region [ IInputDevice 実装 ]\r
-               //-----------------\r
-               public E入力デバイス種別 e入力デバイス種別 { get; private set; }\r
-               public string GUID { get; private set; }\r
-               public int ID { get; private set; }\r
-               public List<STInputEvent> list入力イベント { get; private set; }\r
-\r
-               public void tポーリング( bool bWindowがアクティブ中, bool bバッファ入力を使用する )\r
-               {\r
-                       for( int i = 0; i < 8; i++ )\r
-                       {\r
-                               this.bMousePushDown[ i ] = false;\r
-                               this.bMousePullUp[ i ] = false;\r
-                       }\r
-\r
-                       if( bWindowがアクティブ中 && ( this.devMouse != null ) )\r
-                       {\r
-                               this.devMouse.Acquire();\r
-                               this.devMouse.Poll();\r
-\r
-                               // this.list入力イベント = new List<STInputEvent>( 32 );\r
-                               this.list入力イベント.Clear();                    // #xxxxx 2012.6.11 yyagi; To optimize, I removed new();\r
-\r
-                               if( bバッファ入力を使用する )\r
-                               {\r
-                                       #region [ a.バッファ入力 ]\r
-                                       //-----------------------------\r
-                                       var bufferedData = this.devMouse.GetBufferedData();\r
-                                       //if( Result.Last.IsSuccess && bufferedData != null )\r
-                                       {\r
-                                               foreach( MouseUpdate data in bufferedData )\r
-                                               {\r
-                                                       var mouseButton = new[] {\r
-                                                                MouseOffset.Buttons0,\r
-                                                                MouseOffset.Buttons1,\r
-                                                                MouseOffset.Buttons2,\r
-                                                                MouseOffset.Buttons3,\r
-                                                                MouseOffset.Buttons4,\r
-                                                                MouseOffset.Buttons5,\r
-                                                                MouseOffset.Buttons6,\r
-                                                                MouseOffset.Buttons7,\r
-                                                       };\r
-\r
-                                                       for( int k = 0; k < 8; k++ )\r
-                                                       {\r
-                                                               //if( data.IsPressed( k ) )\r
-                                                               if( data.Offset == mouseButton[ k ] && ( ( data.Value & 0x80 ) != 0 ) )\r
-                                                               {\r
-                                                                       STInputEvent item = new STInputEvent()\r
-                                                                       {\r
-                                                                               nKey = k,\r
-                                                                               b押された = true,\r
-                                                                               b離された = false,\r
-                                                                               nTimeStamp = CSound管理.rc演奏用タイマ.nサウンドタイマーのシステム時刻msへの変換( data.Timestamp ),\r
-                                                                               nVelocity = CInput管理.n通常音量\r
-                                                                       };\r
-                                                                       this.list入力イベント.Add( item );\r
-\r
-                                                                       this.bMouseState[ k ] = true;\r
-                                                                       this.bMousePushDown[ k ] = true;\r
-                                                               }\r
-                                                               else if( data.Offset == mouseButton[ k ] && this.bMouseState[ k ] == true && ( ( data.Value & 0x80 ) == 0 ) )\r
-                                                               //else if( data.IsReleased( k ) )\r
-                                                               {\r
-                                                                       STInputEvent item = new STInputEvent()\r
-                                                                       {\r
-                                                                               nKey = k,\r
-                                                                               b押された = false,\r
-                                                                               b離された = true,\r
-                                                                               nTimeStamp = CSound管理.rc演奏用タイマ.nサウンドタイマーのシステム時刻msへの変換( data.Timestamp ),\r
-                                                                               nVelocity = CInput管理.n通常音量\r
-                                                                       };\r
-                                                                       this.list入力イベント.Add( item );\r
-\r
-                                                                       this.bMouseState[ k ] = false;\r
-                                                                       this.bMousePullUp[ k ] = true;\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       //-----------------------------\r
-                                       #endregion\r
-                               }\r
-                               else\r
-                               {\r
-                                       #region [ b.状態入力 ]\r
-                                       //-----------------------------\r
-                                       MouseState currentState = this.devMouse.GetCurrentState();\r
-                                       //if( Result.Last.IsSuccess && currentState != null )\r
-                                       {\r
-                                               bool[] buttons = currentState.Buttons;\r
-\r
-                                               for( int j = 0; ( j < buttons.Length ) && ( j < 8 ); j++ )\r
-                                               {\r
-                                                       if( this.bMouseState[ j ] == false && buttons[ j ] == true )\r
-                                                       {\r
-                                                               var ev = new STInputEvent() {\r
-                                                                       nKey = j,\r
-                                                                       b押された = true,\r
-                                                                       b離された = false,\r
-                                                                       nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻,     // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
-                                                                       nVelocity = CInput管理.n通常音量,\r
-                                                               };\r
-                                                               this.list入力イベント.Add( ev );\r
-\r
-                                                               this.bMouseState[ j ] = true;\r
-                                                               this.bMousePushDown[ j ] = true;\r
-                                                       }\r
-                                                       else if( this.bMouseState[ j ] == true && buttons[ j ] == false )\r
-                                                       {\r
-                                                               var ev = new STInputEvent() {\r
-                                                                       nKey = j,\r
-                                                                       b押された = false,\r
-                                                                       b離された = true,\r
-                                                                       nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻,     // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
-                                                                       nVelocity = CInput管理.n通常音量,\r
-                                                               };\r
-                                                               this.list入力イベント.Add( ev );\r
-\r
-                                                               this.bMouseState[ j ] = false;\r
-                                                               this.bMousePullUp[ j ] = true;\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       //-----------------------------\r
-                                       #endregion\r
-                               }\r
-                       }\r
-               }\r
-               public bool bキーが押された( int nButton )\r
-               {\r
-                       return ( ( ( 0 <= nButton ) && ( nButton < 8 ) ) && this.bMousePushDown[ nButton ] );\r
-               }\r
-               public bool bキーが押されている( int nButton )\r
-               {\r
-                       return ( ( ( 0 <= nButton ) && ( nButton < 8 ) ) && this.bMouseState[ nButton ] );\r
-               }\r
-               public bool bキーが離された( int nButton )\r
-               {\r
-                       return ( ( ( 0 <= nButton ) && ( nButton < 8 ) ) && this.bMousePullUp[ nButton ] );\r
-               }\r
-               public bool bキーが離されている( int nButton )\r
-               {\r
-                       return ( ( ( 0 <= nButton ) && ( nButton < 8 ) ) && !this.bMouseState[ nButton ] );\r
-               }\r
-               //-----------------\r
-               #endregion\r
-\r
-               #region [ IDisposable 実装 ]\r
-               //-----------------\r
-               public void Dispose()\r
-               {\r
-                       if( !this.bDispose完了済み )\r
-                       {\r
-                               if( this.devMouse != null )\r
-                               {\r
-                                       this.devMouse.Dispose();\r
-                                       this.devMouse = null;\r
-                               }\r
-                               //if( this.timer != null )\r
-                               //{\r
-                               //    this.timer.Dispose();\r
-                               //    this.timer = null;\r
-                               //}\r
-                               if ( this.list入力イベント != null )\r
-                               {\r
-                                       this.list入力イベント = null;\r
-                               }\r
-                               this.bDispose完了済み = true;\r
-                       }\r
-               }\r
-               //-----------------\r
-               #endregion\r
-\r
-\r
-               // その他\r
-\r
-               #region [ private ]\r
-               //-----------------\r
-               private bool bDispose完了済み;\r
-               private bool[] bMousePullUp = new bool[ 8 ];\r
-               private bool[] bMousePushDown = new bool[ 8 ];\r
-               private bool[] bMouseState = new bool[ 8 ];\r
-               private Mouse devMouse;\r
-               //private CTimer timer;\r
-               //-----------------\r
-               #endregion\r
-       }\r
-}\r