+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Windows.Forms;\r
-\r
-namespace DTXCreator.WAV_BMP_AVI\r
-{\r
- internal class CBMPキャッシュ\r
- {\r
- public Dictionary<int, CBMP> dicBMPディクショナリ = new Dictionary<int, CBMP>();\r
- public int n現在のキャッシュアイテム数\r
- {\r
- get\r
- {\r
- if( this.dicBMPディクショナリ == null )\r
- {\r
- return 0;\r
- }\r
- return this.dicBMPディクショナリ.Count;\r
- }\r
- }\r
-\r
- public CBMP tBMPをキャッシュから検索して返す( int nBMP番号1to1295 )\r
- {\r
- CBMP cbmp;\r
- if( ( nBMP番号1to1295 < 1 ) || ( nBMP番号1to1295 > 36 * 36 - 1 ) )\r
- {\r
- throw new Exception( "BMP番号が範囲を超えています。-> [" + nBMP番号1to1295 + "]" );\r
- }\r
- if( this.dicBMPディクショナリ.TryGetValue( nBMP番号1to1295, out cbmp ) )\r
- {\r
- return cbmp;\r
- }\r
- return null;\r
- }\r
- public CBMP tBMPをキャッシュから検索して返す_なければ新規生成する( int nBMP番号1to1295 )\r
- {\r
- if( ( nBMP番号1to1295 < 1 ) || ( nBMP番号1to1295 > 36 * 36 - 1 ) )\r
- {\r
- throw new Exception( "BMP番号が範囲を超えています。-> [" + nBMP番号1to1295 + "]" );\r
- }\r
- CBMP cbmp = null;\r
- if( !this.dicBMPディクショナリ.TryGetValue( nBMP番号1to1295, out cbmp ) )\r
- {\r
- cbmp = new CBMP();\r
- cbmp.nBMP番号1to1295 = nBMP番号1to1295;\r
- this.tキャッシュに追加する( cbmp );\r
- }\r
- return cbmp;\r
- }\r
- public void tBMPをキャッシュから削除する( int nBMP番号1to1295 )\r
- {\r
- if( ( nBMP番号1to1295 < 1 ) || ( nBMP番号1to1295 > 36 * 36 - 1 ) )\r
- {\r
- throw new Exception( "BMP番号が範囲を超えています。-> [" + nBMP番号1to1295 + "]" );\r
- }\r
- CBMP cbmp = null;\r
- if( this.dicBMPディクショナリ.TryGetValue( nBMP番号1to1295, out cbmp ) )\r
- {\r
- this.dicBMPディクショナリ.Remove( nBMP番号1to1295 );\r
- }\r
- }\r
- public void tキャッシュに追加する( CBMP bc追加するBMP )\r
- {\r
- CBMP cbmp;\r
- if( this.dicBMPディクショナリ.TryGetValue( bc追加するBMP.nBMP番号1to1295, out cbmp ) )\r
- {\r
- this.dicBMPディクショナリ.Remove( bc追加するBMP.nBMP番号1to1295 );\r
- }\r
- this.dicBMPディクショナリ.Add( bc追加するBMP.nBMP番号1to1295, bc追加するBMP );\r
- }\r
- public void tキャッシュに追加する( ListViewItem lvi )\r
- {\r
- CBMP cbmp = new CBMP();\r
- cbmp.tコピーfrom( lvi );\r
- this.tキャッシュに追加する( cbmp );\r
- }\r
- public void t空にする()\r
- {\r
- this.dicBMPディクショナリ.Clear();\r
- }\r
- }\r
-}\r