anchor.diff:    if InDesigner then
     begin
       Canvas.TextColor := clInactiveWgFrame;
  -    Canvas.DrawString(10, 10, '<Rich text will appear here>');
  +    x := 10;
  +    DesignerPainting('<', clInactiveWgFrame);
  +    DesignerPainting('rich', clBlack, 'Arial-10:bold');
  +    DesignerPainting(' text', clRed, 'Arial-10:italic');
  +    DesignerPainting(' ', clInactiveWgFrame);
  +    DesignerPainting('will', clBlue, 'Arial-10:underline');
  +    DesignerPainting(' appear here>', clInactiveWgFrame);
  +//    Canvas.DrawString(10, 10, '<rich text will appear here>');
       Canvas.ClearClipRect;
       Exit; //==>
     end;
  
positive.code: begin
    inherited Create(AOwner);
    Name := 'RichTextView';
    FWidth := 100;
    FHeight := 100;
    FFocusable := True;
  
    FNeedVScroll := False;
  
negative.code:   CornerRect: TfpgRect;
    DrawRect: TfpgRect;
    TextRect: TfpgRect;
    x: integer;
  
    // Just for fun! :-)
    procedure DesignerPainting(const AText: string; AColor: TfpgColor; AFontDesc: TfpgString = '');
    var
      oldf: TfpgString;
    begin
      oldf := '';
      if AFontDesc <> '' then
      begin
        oldf := Canvas.Font.FontDesc; // save original font
        Canvas.Font := fpgGetFont(AFontDesc); // set new font
      end;
      Canvas.TextColor := AColor; // set new color
      Canvas.DrawString(x, 10, AText);
      x := x + Canvas.Font.TextWidth(AText);  // calc x offset for next text
      if oldf <> '' then
        Canvas.Font := fpgGetFont(oldf);  // restore original font
    end;
  
  begin
    ProfileEvent('TRichTextView.HandlePaint >>>');
    Canvas.ClearClipRect;
    DrawBorder;
  
  