class Config
{
public bool 垂直帰線待ちを行う { get; set; }
+ public SharpDX.Size2 物理画面サイズpx { get; set; }
public Config()
{
{
try
{
- var XML文書 = new XDocument( new XDeclaration( version: "1.0", encoding: "utf-8", standalone: "yes" ) );
+ var XML文書 = new XDocument( new XDeclaration( version: "1.0", encoding: "utf-8", standalone: "yes" ),
+
+ new XElement( nameof( XML.Root ),
+
+ new XElement( nameof( XML.Config ),
- // <Root>
- var Root要素 = new XElement( nameof( XML.Root ) );
- {
- // <Config>
- var Config要素 = new XElement( nameof( XML.Config ) );
- {
- // <WaitForVerticalBlank>
- Config要素.Add(
new XComment( "垂直帰線待ちを行う場合はtrue、行わない場合はfalseを設定します。" ),
- new XElement( nameof( XML.WaitForVerticalBlank ), this.垂直帰線待ちを行う ) );
- }
- Root要素.Add( Config要素 );
- }
- XML文書.Add( Root要素 );
+ new XElement( nameof( XML.WaitForVerticalBlank ), this.垂直帰線待ちを行う ),
+
+ new XComment( "画面に関する設定を行います。" ),
+ new XElement( nameof( XML.Screen ),
+
+ new XComment( "画面の幅を設定します。" ),
+ new XElement( nameof( XML.Width ), this.物理画面サイズpx.Width ),
+
+ new XComment( "画面の高さを設定します。" ),
+ new XElement( nameof( XML.Height ), this.物理画面サイズpx.Height )
+ )
+ )
+ )
+ );
- // ファイルに保存する。
XML文書.Save( ファイルパス );
}
catch( Exception e )
}
//----------------
#endregion
+
+ // <Screen>*
+ foreach( var Screen要素 in Config要素.Elements( nameof( XML.Screen ) ) )
+ {
+ #region " <Width> "
+ //----------------
+ try
+ {
+ int width = (int) Screen要素.Element( nameof( XML.Width ) );
+ this.物理画面サイズpx = new SharpDX.Size2( width, this.物理画面サイズpx.Height );
+ }
+ catch( Exception e )
+ {
+ FDK.Log.ERROR( $"<{XML.Config}>.<{XML.Screen}>.<{XML.Width}> の読み込みに失敗しました。{e.Message}" );
+ }
+ //----------------
+ #endregion
+ #region " <Height> "
+ //----------------
+ try
+ {
+ int height = (int) Screen要素.Element( nameof( XML.Height ) );
+ this.物理画面サイズpx = new SharpDX.Size2( this.物理画面サイズpx.Width, height );
+ }
+ catch( Exception e )
+ {
+ FDK.Log.ERROR( $"<{XML.Config}>.<{XML.Screen}>.<{XML.Height}> の読み込みに失敗しました。{e.Message}" );
+ }
+ //----------------
+ #endregion
+ }
}
}
}
protected readonly string ConfigXmlファイルパス = @"$(AppData)\Config.xml";
- /// <summary>
- /// 既定の設定値で初期化する。
- /// </summary>
private void 初期化する()
{
+ // 各メンバの規定値を設定する。
+
this.垂直帰線待ちを行う = true;
+ this.物理画面サイズpx = new SharpDX.Size2( 1280, 720 );
}
}
}