private void PaintDebug(Graphics g)
{
g.FillRectangle(m_originBrush, 0, 0, m_cellWidth, m_cellHeight);
StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<string, object> item in m_debug)
{
string value = item.Value == null ? "<null>" : item.Value.ToString();
sb.AppendLine(String.Format("{0} = {1}", item.Key, value));
}
string s = sb.ToString();
Matrix savedMatrix = g.Transform.Clone();
g.ResetTransform();
SizeF stringSize = g.MeasureString(s, m_debugFont);
RectangleF backgroundRect = new RectangleF(1, 1, stringSize.Width, stringSize.Height);
g.FillRectangle(m_debugBackgroundBrush, backgroundRect);
g.DrawString(s, m_debugFont, m_debugForegroundBrush, backgroundRect);
g.Transform = savedMatrix;
}