/// <summary> /// 初期化処理 /// </summary> /// <param name="context"></param> public virtual void Initialize() { if (RenderContext.Instance == null) { RenderContext.インスタンスを生成する(); ScreenContext = RenderContext.Instance.Initialize(this); } else { ScreenContext = RenderContext.Instance.ScreenContextを作成する(this); } FpsCounter = new FPSCounter(); FpsCounter.カウントを開始する(); IsInitialized = true; }
/// <summary> /// <see cref="E:System.Windows.Forms.Form.Load" /> イベントを発生させます。 /// </summary> /// <param name="e">イベント データを格納している <see cref="T:System.EventArgs" />。</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); #region デザインモード時処理 if (DesignMode) { var label = new Label(); label.Text = "RenderForm\n*デザインモードでは描画できません。\n*ウィンドウの大きさ、タイトルなどはデザインビューからも変更可能です。"; label.Dock = DockStyle.Fill; label.TextAlign = ContentAlignment.MiddleCenter; label.Font = new Font("Meiriyo", 30); Controls.Add(label); return; } #endregion if (RenderContext.Instance == null) { // コンストラクタで RenderContext が指定されなかった場合は作成する RenderContext.インスタンスを生成する(); ScreenContext = RenderContext.Instance.Initialize(this); } else { // 指定された場合 ScreenContext = RenderContext.Instance.ScreenContextを作成する(this); } FpsCounter = new FPSCounter(); FpsCounter.カウントを開始する(); ClientSizeChanged += RenderForm_ClientSizeChanged; _初期化済み = true; }
/// <summary> /// デバイスの作成をカスタマイズしたい場合 /// </summary> /// <param name="deviceManager"></param> public RenderForm(DeviceManager deviceManager) : this() { RenderContext.インスタンスを生成する(deviceManager); }