+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Drawing;\r
-using System.Diagnostics;\r
-using System.IO;\r
-using SharpDX;\r
-using FDK;\r
-\r
-using Rectangle = System.Drawing.Rectangle;\r
-\r
-namespace DTXMania\r
-{\r
- internal class CActSelectShowCurrentPosition : CActivity\r
- {\r
- // メソッド\r
-\r
- public CActSelectShowCurrentPosition()\r
- {\r
- base.b活性化してない = true;\r
- }\r
-\r
- // CActivity 実装\r
-\r
- public override void On活性化()\r
- {\r
- if (this.b活性化してる)\r
- return;\r
-\r
- base.On活性化();\r
- }\r
- public override void On非活性化()\r
- {\r
- base.On非活性化();\r
- }\r
- public override void OnManagedリソースの作成()\r
- {\r
- if (!base.b活性化してない)\r
- {\r
- string pathScrollBar = CSkin.Path(@"Graphics\ScreenSelect scrollbar.png");\r
- string pathScrollPosition = CSkin.Path(@"Graphics\ScreenSelect scrollbar.png");\r
- if (File.Exists(pathScrollBar))\r
- {\r
- this.txScrollBar = TextureFactory.tテクスチャの生成(pathScrollBar, false);\r
- }\r
- if (File.Exists(pathScrollPosition))\r
- {\r
- this.txScrollPosition = TextureFactory.tテクスチャの生成(pathScrollPosition, false);\r
- }\r
- base.OnManagedリソースの作成();\r
- }\r
- }\r
- public override void OnManagedリソースの解放()\r
- {\r
- if (!base.b活性化してない)\r
- {\r
- TextureFactory.t安全にDisposeする(ref this.txScrollBar);\r
- TextureFactory.t安全にDisposeする(ref this.txScrollPosition);\r
-\r
- base.OnManagedリソースの解放();\r
- }\r
- }\r
- public override int On進行描画()\r
- {\r
- #region [ スクロールバーの描画 #27648 ]\r
- if (this.txScrollBar != null)\r
- {\r
- for (int sy = 0; sy < (int)(336 * Scale.Y); sy += (int)(128 * Scale.Y))\r
- {\r
- int ry = (sy / (int)(128 * Scale.Y));\r
- int h = ((ry + 1) * (int)(128 * Scale.Y) > (int)(336 * Scale.Y)) ? (int)(336 * Scale.Y) - ry * (int)(128 * Scale.Y) : (int)(128 * Scale.Y);\r
- this.txScrollBar.t2D描画(\r
- CDTXMania.Instance.Device,\r
- SampleFramework.GameWindowSize.Width - 12 * Scale.X,\r
- 58 * Scale.Y + sy,\r
- new Rectangle(\r
- (int)(ry * 12 * Scale.X),\r
- 0,\r
- (int)(12 * Scale.X),\r
- h\r
- )\r
- ); // 本当のy座標は88なんだが、なぜか約30のバイアスが掛かる・・・\r
- }\r
- }\r
- #endregion\r
- #region [ スクロール地点の描画 (計算はCActSelect曲リストで行う。スクロール位置と選曲項目の同期のため。)#27648 ]\r
- if (this.txScrollPosition != null)\r
- {\r
- int py = CDTXMania.Instance.stage選曲.nスクロールバー相対y座標;\r
- if (py <= 336 * Scale.Y - 6 - 8 && py >= 0)\r
- {\r
- this.txScrollPosition.t2D描画(\r
- CDTXMania.Instance.Device,\r
- SampleFramework.GameWindowSize.Width - (12 - 3) * Scale.X,\r
- 58 * Scale.Y + py,\r
- new Rectangle(\r
- (int)(30 * Scale.X),\r
- (int)(120 * Scale.Y),\r
- (int)(6 * Scale.X),\r
- (int)(8 * Scale.Y)\r
- )\r
- );\r
- }\r
- }\r
- #endregion\r
-\r
- return 0;\r
- }\r
-\r
-\r
- // その他\r
-\r
- #region [ private ]\r
- //-----------------\r
- private CTexture txScrollPosition;\r
- private CTexture txScrollBar;\r
- //-----------------\r
- #endregion\r
- }\r
-}\r