anchor.diff:    function KMRectF(aLeft, aTop, aRight, aBottom: SmallInt): TKMRectF; overload;
     function KMRectRound(const aRect: TKMRectF): TKMRect;
     function KMSameRect(const aRect1, aRect2: TKMRect): Boolean;
  +  function KMRectWidth(const aRect: TKMRect): Integer;
  +  function KMRectHeight(const aRect: TKMRect): Integer;
     function KMRectGrow(const aRect: TKMRect; aInset: Integer): TKMRect; overload;
     function KMRectGrow(const aRect: TKMRect; const aDir: TKMDirection; aInset: Integer = 1): TKMRect; overload;
     function KMRectGrowTopLeft(const aRect: TKMRect; aInset: Integer = 1): TKMRect;
  
positive.code:   function KMInRect(const aPoint: TKMPoint; const aRect: TKMRect): Boolean; overload;
    function KMInRect(const aPoint: TKMPointF; const aRect: TKMRect): Boolean; overload;
    function KMInRect(const aPoint: TKMPointF; const aRect: TKMRectF): Boolean; overload;
    function KMRectArea(const aRect: TKMRect): Integer;
    function KMRectMove(const aRect: TKMRect; X,Y: Integer): TKMRect;
    procedure KMRectIncludePoint(var aRect: TKMRect; X,Y: Integer); overload;
  
negative.code: function KMInRect(const aPoint: TKMPointF; const aRect: TKMRectF): Boolean;
  begin
    Result := InRange(aPoint.X, aRect.Left, aRect.Right) and InRange(aPoint.Y, aRect.Top, aRect.Bottom);
  end;
  
  
  function KMRectFitInRect(const aInnerRect, aOuterRect: TKMRect): Boolean;
  begin
    Result := (KMRectHeight(aInnerRect) <= KMRectHeight(aOuterRect))
          and (KMRectWidth(aInnerRect) <= KMRectWidth(aOuterRect))
  end;
  
  
  