#if MEMMONITOR
using System.Diagnostics;
using System.Windows.Forms;

namespace TIASshot {

    /// <summary>
    /// 副モニタの実描画時間を計測する PictureBox（MEMMONITOR 限定）。
    /// base.OnPaint（実際の GDI 描画）の所要時間を PreviewProfiler に記録し，
    /// 「副モニタの描画コストそのものが増えているか」を sub_paint_ms として可視化する。
    /// 本番ビルドでは本クラスごとコンパイルされないため，通常の PictureBox と挙動は一切変わらない。
    /// </summary>
    internal class TimedPictureBox : PictureBox {
        protected override void OnPaint(PaintEventArgs pe) {
            long t0 = Stopwatch.GetTimestamp();
            base.OnPaint(pe);
            PreviewProfiler.AddSubPaintTicks(Stopwatch.GetTimestamp() - t0);
        }
    }
}
#endif
