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);
        }
 void DrawFrameBeginOutline(IFrameBegin msg)
 {
     if (TextLineIdx == 0)
     {
         Pen murkupPen = ctx.OutlineMarkupPen;
         ctx.Canvas.DrawRectangle(murkupPen, m.OulineBox);
         Point p = m.OulineBoxCenter;
         ctx.Canvas.DrawLine(murkupPen, p.X - ctx.OutlineCrossSize / 2, p.Y, p.X + ctx.OutlineCrossSize / 2, p.Y);
         bool collapsed = msg.Collapsed;
         if (collapsed)
         {
             ctx.Canvas.DrawLine(murkupPen, p.X, p.Y - ctx.OutlineCrossSize / 2, p.X, p.Y + ctx.OutlineCrossSize / 2);
         }
     }
     if (IsBookmarked)
     {
         Image icon   = ctx.BookmarkIcon;
         var   iconSz = icon.GetSize(width: 9).Scale(ctx.DpiScale);
         ctx.Canvas.DrawImage(icon,
                              ctx.CollapseBoxesAreaSize - iconSz.Width - 1,
                              m.MessageRect.Y + (ctx.LineHeight - iconSz.Height) / 2,
                              iconSz.Width,
                              iconSz.Height
                              );
     }
 }
예제 #3
0
 void IFrameEnd.SetStart(IFrameBegin start)
 {
     this.start = start;
 }
 public virtual void Visit(IFrameBegin msg)
 {
     HandleMessageText(msg,
                       ctx.CharSize.Width * (FrameBegin.GetCollapseMark(msg.Collapsed).Length + 1));
 }