anchor.diff:  
       DrawXX := X;
       case VertAlign of
  -      {ALeft, ARight,} ATop:
  +      ATop, ANone:
           DrawYY := TopY + VSpaceT;
         AMiddle:
           DrawYY := MiddleAlignTop;
  
positive.code:             else if (S = 'MIDDLE') or (S = 'ABSMIDDLE') then
                VertAlign := AMiddle
              else if S = 'LEFT' then
                HorzAlign := ALeft
              else if S = 'RIGHT' then
                HorzAlign := ARight;
            end;
          BorderSy:
            begin
  
negative.code:     SaveID := IMgr.CurrentID;
      IMgr.CurrentID := Self;
  
      MiscWidths :=
        MargArray[MarginLeft] + MargArray[PaddingLeft] + MargArray[BorderLeftWidth] +
        MargArray[MarginRight] + MargArray[PaddingRight] + MargArray[BorderRightWidth];
      TotalWidth := MiscWidths + NewWidth;
  
      YClear := Y + ClearAddon;
      case FloatLR of
        ALeft:
          Indent := IMgr.GetNextLeftXY(YClear, X, NewWidth, AWidth, 0) + MargArray[MarginLeft] + MargArray[PaddingLeft] + MargArray[BorderLeftWidth] - X;
  
        ARight:
          Indent := Min(AWidth, IMgr.RightSide(YClear)) - (MargArray[MarginRight] + MargArray[PaddingRight] + MargArray[BorderRightWidth]) - NewWidth;
      else
        Indent := MargArray[MarginLeft] + MargArray[PaddingLeft] + MargArray[BorderLeftWidth];
      end;
      if MargArray[MarginTop] > 0 then
        DrawTop := YClear
      else
        DrawTop := YClear + MargArray[MarginTop]; {Border top}
  
      X := X + Indent;
      ContentTop := YClear + MargArray[MarginTop] + MargArray[PaddingTop] + MargArray[BorderTopWidth];
  
      LIndex := IMgr.SetLeftIndent(X, ContentTop);
      RIndex := IMgr.SetRightIndent(X + NewWidth, ContentTop);
  