anchor.diff:  
     TfpgGutter = class(TfpgWidget)
     private
  +    FOwner: TfpgBaseTextEdit; // convenience reference variable
       FDigits: Integer;
       FShowNum: Boolean;
       FSpace: Integer;
  
positive.code: function TfpgGutter.GetClientRect: TfpgRect;
  begin
    Result := inherited GetClientRect;
    Result.Width := Result.Width - 2; // bsRightLine takes up two pixels
  end;
  
  { TfpgBaseTextEdit }
  
negative.code:   msg.mouse.y := y;
    msg.mouse.shiftstate := shiftstate;
    msg.mouse.delta := delta;
    fpgPostMessage(self, FOwner.FVScrollBar, FPGM_SCROLL, msg);
  end;
  
  constructor TfpgGutter.CreateGutter(AOwner: TfpgBaseTextEdit);
  begin
    inherited Create(AOwner);
    FOwner := AOwner;
    FDigits := 0;
    FShowNum := True;
    FSpace := 2;
  