[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Objects' (#rtl)

# TRect.Intersect

Reduce rectangle to intersection with another rectangle

## Declaration

Source position: objects.pp line 249

`procedure TRect.Intersect(`
`R: TRect`
`);`

## Description

Intersect makes the intersection of the current rectangle with R. If the intersection is empty, then the rectangle is set to the empty rectangle at coordinate (0,0).

## Errors

None.

## See also

TRect.Union |  | Enlarges rectangle to encompass another rectangle.

## Example

    Program ex4;

    { Program to demonstrate TRect.Intersect }

    Uses objects;

    Var ARect,BRect,CRect : TRect;

    begin
      ARect.Assign(10,10,20,20);
      BRect.Assign(15,15,25,25);
      { CRect is intersection of ARect and BRect }
      CRect.Assign(15,15,20,20);
      { Calculate it explicitly}
      ARect.Intersect(BRect);
      If ARect.Equals(CRect) Then
        Writeln ('ARect equals CRect')
      Else
        Writeln ('ARect does not equal CRect !');
      BRect.Assign(25,25,30,30);
      Arect.Intersect(BRect);
      If ARect.Empty Then
        Writeln ('ARect is empty');
    end.