public override void Visit(IFrameBegin msg)
        {
            base.Visit(msg);

            DrawTime(msg);

            Rectangle r = m.OffsetTextRect;

            bool collapsed = msg.Collapsed;

            Brush txtBrush      = ctx.InfoMessagesBrush;
            Brush commentsBrush = ctx.CommentsBrush;

            string mark = FrameBegin.GetCollapseMark(collapsed);

            if (TextLineIdx == 0)
            {
                ctx.Canvas.DrawString(
                    mark,
                    ctx.Font,
                    txtBrush,
                    r.X, r.Y);
            }

            r.X += (int)(ctx.CharSize.Width * (mark.Length + 1));

            DrawStringWithInplaceHightlight(msg, commentsBrush, r.Location);

            DrawCursorIfNeeded(msg);

            FillOutlineBackground();
            DrawFrameBeginOutline(msg);
        }
 public virtual void Visit(IFrameBegin msg)
 {
     HandleMessageText(msg,
                       ctx.CharSize.Width * (FrameBegin.GetCollapseMark(msg.Collapsed).Length + 1));
 }