anchor.diff:    AvailableWidth: longint;
     MaxDisplayWidth: longint;
     AvailableHeight: longint;
  -Begin
  +begin
  +  // Reset to defaults
  +  FNeedVScroll := false;
  +  FNeedHScroll := false;
  +
     // Calculate used and available width
     AvailableWidth := GetTextAreaWidth;
     MaxDisplayWidth := FLayout.Width;
  -
  -  // Defaults
  -  FNeedVScroll := false;
  -  FNeedHScroll := false;
   
     // Horizontal scroll setup
     if MaxDisplayWidth > AvailableWidth then
  
positive.code:     // Rectangle (GetClientRect) minus scrollbars (if they are enabled)
      Function GetDrawRect: TfpgRect;
      // Rectangle minus scrollbars (GetDrawRect), minus extra 2px border all round
      Function GetTextAreaRect: TfpgRect;
      Function GetTextAreaHeight: longint;
      Function GetTextAreaWidth: longint;
  
      // Queries
      procedure GetFirstVisibleLine( Var LineIndex: longint; Var Offset: longint );
  
negative.code:   InflateRect(Result, -2, -2);
  end;
  
  function TRichTextView.GetTextAreaHeight: longint;
  begin
    Result := GetTextAreaRect.Height;
  end;
  
  function TRichTextView.GetTextAreaWidth: longint;
  begin
    Result := GetTextAreaRect.Width;
  end;
  
  Procedure TRichTextView.SetupScrollbars;
  