<?xml version="1.0" ?><namespace name="System.Types" platform="Win32">
  <devnotes>
    CPUX86
  </devnotes>
  <const name="Big" type="TEndian" file="System.Types.pas" line="83">
    <value>
      Big
    </value>
  </const>
  <const name="Little" type="TEndian" file="System.Types.pas" line="83">
    <value>
      Little
    </value>
  </const>
  <pointer name="PLongInt" alias="System.PLongInt" type="Integer" indircnt="1" file="System.pas" line="1288"/>
  <pointer name="PInteger" alias="System.PInteger" type="Integer" indircnt="1" file="System.pas" line="1300"/>
  <pointer name="PSmallInt" alias="System.PSmallInt" type="SmallInt" indircnt="1" file="System.pas" line="1303"/>
  <pointer name="PDouble" alias="System.PDouble" type="Double" indircnt="1" file="System.pas" line="1313"/>
  <pointer name="PByte" alias="System.PByte" type="Byte" indircnt="1" file="System.pas" line="1305"/>
  <type name="OleStr" type="WideString" file="System.pas" line="12"/>
  <array name="TClassicByteDynArray" file="System.Types.pas" line="78">
    <element type="Byte"/>
  </array>
  <array name="TClassicStringDynArray" file="System.Types.pas" line="79">
    <element type="string"/>
  </array>
  <enum name="TEndian" file="System.Types.pas" line="83">
    <element value="0" name="Big" file="System.Types.pas" line="83"/>
    <element value="1" name="Little" file="System.Types.pas" line="83"/>
  </enum>
  <const name="PlatformEndian" type="TEndian" file="System.Types.pas" line="85">
    <value>
      Little
    </value>
  </const>
  <const name="dupIgnore" type="TDuplicates" file="System.Types.pas" line="89">
    <value>
      dupIgnore
    </value>
  </const>
  <const name="dupAccept" type="TDuplicates" file="System.Types.pas" line="89">
    <value>
      dupAccept
    </value>
  </const>
  <const name="dupError" type="TDuplicates" file="System.Types.pas" line="89">
    <value>
      dupError
    </value>
  </const>
  <const name="FromBeginning" type="TDirection" file="System.Types.pas" line="90">
    <value>
      FromBeginning
    </value>
  </const>
  <const name="FromEnd" type="TDirection" file="System.Types.pas" line="90">
    <value>
      FromEnd
    </value>
  </const>
  <enum name="TDuplicates" file="System.Types.pas" line="89">
    <element value="0" name="dupIgnore" file="System.Types.pas" line="89"/>
    <element value="1" name="dupAccept" file="System.Types.pas" line="89"/>
    <element value="2" name="dupError" file="System.Types.pas" line="89"/>
  </enum>
  <enum name="TDirection" file="System.Types.pas" line="90">
    <element value="0" name="FromBeginning" file="System.Types.pas" line="90"/>
    <element value="1" name="FromEnd" file="System.Types.pas" line="90"/>
  </enum>
  <pointer name="PSize" type="TSize" indircnt="1" file="System.Types.pas" line="98"/>
  <struct name="TSize" size="8" file="System.Types.pas" line="99">
    <field name="cx" type="Integer" visibility="public" size="4" offset="0" file="System.Types.pas" line="100"><devnotes><summary>
Specifies the width of an object.  Typically, the implied units of measurement are pixels.


</summary></devnotes></field>
    <field name="cy" type="Integer" visibility="public" size="4" offset="4" file="System.Types.pas" line="101"><devnotes><summary>
Specifies the height of an object. Typically, the implied units of measurement are pixels.


</summary></devnotes></field>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="103">
      <parameters>
        <parameter name="P" type="TSize"/>
      </parameters>
    <devnotes><summary>
Creates a TSize object.
Use Create to construct and initialize a new TSize object.
To create a nonempty TSize object, send a TSize object, or a width and a height, through the constructor parameters.


</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="104">
      <parameters>
        <parameter name="X" type="Integer" paramflags="const"/>
        <parameter name="Y" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Creates a TSize object.
Use Create to construct and initialize a new TSize object.
To create a nonempty TSize object, send a TSize object, or a width and a height, through the constructor parameters.


</summary></devnotes></constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="106" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two TSize records are equal, by comparing their cx and cy values. 
It returns the Boolean value True if their cx properties are equal and their cy properties are equal. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="107" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two TSize objects are unequal, by comparing their cx and cy values. 
It returns the Boolean value True if at least one of their cx or cy properties are unequal. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="108" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    <devnotes><summary>
Calculates the sum between two TSize objects.
Use operator Addition to add the width and height of one TSize object to the width and height of another  TSize object.
</summary></devnotes></function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="109" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    <devnotes><summary>
Calculates the difference between two TSize objects.
The cx property of the result is the difference between the cx value of the first TSize and the value of cx of the second TSize.
The cy property of the result is the difference between the cy value of the first TSize and the value of cy of the second TSize.
</summary></devnotes></function>
    <function name="Add" visibility="public" file="System.Types.pas" line="112">
      <parameters>
        <parameter name="Point" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    <devnotes><summary>
Calculates the sum between two TSize objects.
Use Add to add the width and height of one TSize object to the width and height of another TSize object.
</summary></devnotes></function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="113">
      <parameters>
        <parameter name="P2" type="TSize" paramflags="const"/>
        <retval type="Double"/>
      </parameters>
    <devnotes><summary>
Calculates the euclidean difference between two TSize objects.
</summary></devnotes></function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="114">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether the width and the height of the TSize object are zero.
IsZero returns the Boolean value True if both the width and the height of the TSize object are zero. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="Subtract" visibility="public" file="System.Types.pas" line="115">
      <parameters>
        <parameter name="Point" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    <devnotes><summary>
Calculates the difference between two TSize objects. 
The cx property of the result is the difference between the cx value of the first TSize and the value of cx of the second TSize.
The cy property of the result is the difference between the cy value of the first TSize and the value of cy of the second TSize.
</summary></devnotes></function>
    <property name="Width" visibility="public" read="cx" write="cx" type="Integer" file="System.Types.pas" line="118"><devnotes><summary>
Specifies the width of the TSize object.
</summary></devnotes></property>
    <property name="Height" visibility="public" read="cy" write="cy" type="Integer" file="System.Types.pas" line="119"><devnotes><summary>
Specifies the height of the TSize object.
</summary></devnotes></property>
  <devnotes><summary>
Specifies the width and height of an object.
TSize specifies the size of an object. The object can be a rectangle, a form, a button, and so on. Typically, the implied units of measurement are pixels.
cx is the width.
cy is the height.
</summary></devnotes></struct>
  <struct name="SIZE" alias="System.Types.TSize" size="8" file="System.Types.pas" line="123">
    <field name="cx" type="Integer" visibility="public" size="4" offset="0" file="System.Types.pas" line="100"/>
    <field name="cy" type="Integer" visibility="public" size="4" offset="4" file="System.Types.pas" line="101"/>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="103">
      <parameters>
        <parameter name="P" type="TSize"/>
      </parameters>
    </constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="104">
      <parameters>
        <parameter name="X" type="Integer" paramflags="const"/>
        <parameter name="Y" type="Integer" paramflags="const"/>
      </parameters>
    </constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="106" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="107" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="108" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    </function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="109" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    </function>
    <function name="Add" visibility="public" file="System.Types.pas" line="112">
      <parameters>
        <parameter name="Point" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    </function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="113">
      <parameters>
        <parameter name="P2" type="TSize" paramflags="const"/>
        <retval type="Double"/>
      </parameters>
    </function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="114">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Subtract" visibility="public" file="System.Types.pas" line="115">
      <parameters>
        <parameter name="Point" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    </function>
    <property name="Width" visibility="public" read="cx" write="cx" type="Integer" file="System.Types.pas" line="118"/>
    <property name="Height" visibility="public" read="cy" write="cy" type="Integer" file="System.Types.pas" line="119"/>
  </struct>
  <struct name="tagSize" alias="System.Types.TSize" size="8" file="System.Types.pas" line="124">
    <field name="cx" type="Integer" visibility="public" size="4" offset="0" file="System.Types.pas" line="100"/>
    <field name="cy" type="Integer" visibility="public" size="4" offset="4" file="System.Types.pas" line="101"/>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="103">
      <parameters>
        <parameter name="P" type="TSize"/>
      </parameters>
    </constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="104">
      <parameters>
        <parameter name="X" type="Integer" paramflags="const"/>
        <parameter name="Y" type="Integer" paramflags="const"/>
      </parameters>
    </constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="106" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="107" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="108" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    </function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="109" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSize" paramflags="const"/>
        <parameter name="Rhs" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    </function>
    <function name="Add" visibility="public" file="System.Types.pas" line="112">
      <parameters>
        <parameter name="Point" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    </function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="113">
      <parameters>
        <parameter name="P2" type="TSize" paramflags="const"/>
        <retval type="Double"/>
      </parameters>
    </function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="114">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Subtract" visibility="public" file="System.Types.pas" line="115">
      <parameters>
        <parameter name="Point" type="TSize" paramflags="const"/>
        <retval type="TSize"/>
      </parameters>
    </function>
    <property name="Width" visibility="public" read="cx" write="cx" type="Integer" file="System.Types.pas" line="118"/>
    <property name="Height" visibility="public" read="cy" write="cy" type="Integer" file="System.Types.pas" line="119"/>
  </struct>
  <pointer name="PSmallPoint" type="TSmallPoint" indircnt="1" file="System.Types.pas" line="132"/>
  <struct name="TSmallPoint" size="4" file="System.Types.pas" line="133">
    <field name="x" type="SmallInt" visibility="public" size="2" offset="0" file="System.Types.pas" line="134"/>
    <field name="y" type="SmallInt" visibility="public" size="2" offset="2" file="System.Types.pas" line="135"/>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="138">
      <attributes>
        <attribute name="HPPGENAttribute"/>
      </attributes>
      <parameters>
        <parameter name="P" type="TSmallPoint"/>
      </parameters>
    </constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="139">
      <parameters>
        <parameter name="X" type="Word" paramflags="const"/>
        <parameter name="Y" type="Word" paramflags="const"/>
      </parameters>
    </constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="140">
      <parameters>
        <parameter name="X" type="SmallInt" paramflags="const"/>
        <parameter name="Y" type="SmallInt" paramflags="const"/>
      </parameters>
    </constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="143" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSmallPoint" paramflags="const"/>
        <parameter name="Rhs" type="TSmallPoint" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="144" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSmallPoint" paramflags="const"/>
        <parameter name="Rhs" type="TSmallPoint" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="145" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSmallPoint" paramflags="const"/>
        <parameter name="Rhs" type="TSmallPoint" paramflags="const"/>
        <retval type="TSmallPoint"/>
      </parameters>
    </function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="146" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSmallPoint" paramflags="const"/>
        <parameter name="Rhs" type="TSmallPoint" paramflags="const"/>
        <retval type="TSmallPoint"/>
      </parameters>
    </function>
    <function name="Add" visibility="public" file="System.Types.pas" line="149">
      <parameters>
        <parameter name="Point" type="TSmallPoint" paramflags="const"/>
        <retval type="TSmallPoint"/>
      </parameters>
    </function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="150">
      <parameters>
        <parameter name="P2" type="TSmallPoint" paramflags="const"/>
        <retval type="Double"/>
      </parameters>
    </function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="151">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Subtract" visibility="public" file="System.Types.pas" line="152">
      <parameters>
        <parameter name="Point" type="TSmallPoint" paramflags="const"/>
        <retval type="TSmallPoint"/>
      </parameters>
    </function>
  </struct>
  <pointer name="PPoint" type="TPoint" indircnt="1" file="System.Types.pas" line="155"/>
  <struct name="TPoint" size="8" file="System.Types.pas" line="156">
    <field name="X" type="Integer" visibility="public" size="4" offset="0" file="System.Types.pas" line="157"><devnotes><summary>
Specifies the horizontal coordinate of the TPoint object.
The type of TPoint.X is FixedInt. 
</summary></devnotes></field>
    <field name="Y" type="Integer" visibility="public" size="4" offset="4" file="System.Types.pas" line="158"><devnotes><summary>
Specifies the vertical coordinate of the TPoint object.
The type of TPoint.Y is FixedInt. 
</summary></devnotes></field>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="160">
      <parameters>
        <parameter name="P" type="TPoint"/>
      </parameters>
    <devnotes><summary>
Creates a TPoint object. 
Use Create to construct and initialize a new TPoint object. X and Y specify the horizontal and vertical Integer coordinates of the point, respectively.
</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="161">
      <parameters>
        <parameter name="X" type="Integer" paramflags="const"/>
        <parameter name="Y" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Creates a TPoint object. 
Use Create to construct and initialize a new TPoint object. X and Y specify the horizontal and vertical Integer coordinates of the point, respectively.
</summary></devnotes></constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="164" generated="true">
      <parameters>
        <parameter name="Lhs" type="TPoint" paramflags="const"/>
        <parameter name="Rhs" type="TPoint" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two TPoint objects are equal.
operator Equality tests whether two TPoint records are equal, by comparing their X and Y values. It returns the Boolean value True if their X properties are equal and their Y properties are equal. Otherwise, it returns False. 
</summary></devnotes></function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="165" generated="true">
      <parameters>
        <parameter name="Lhs" type="TPoint" paramflags="const"/>
        <parameter name="Rhs" type="TPoint" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two points are not equal.
operator Inequality tests whether two points are unequal by comparing their X and Y values. It returns the Boolean value True if at least one of their coordinates is different. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="166" generated="true">
      <parameters>
        <parameter name="Lhs" type="TPoint" paramflags="const"/>
        <parameter name="Rhs" type="TPoint" paramflags="const"/>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Calculates the sum between two points.
Call Addition to calculate the sum between two points. The X property of the result is the sum between the X value of the first TPoint object and the value of X of the second TPoint object. The Y property of the result is the sum between the Y value of the first TPoint object and the value of Y of the second TPoint object. 
</summary></devnotes></function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="167" generated="true">
      <parameters>
        <parameter name="Lhs" type="TPoint" paramflags="const"/>
        <parameter name="Rhs" type="TPoint" paramflags="const"/>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Calculates the difference between two TPoint objects.
The X property of the result is the difference between the X value of the first TPoint and the value of X of the second TPoint. The Y property of the result is the difference between the Y value of the first TPoint and the value of Y of the second TPoint.
</summary></devnotes></function>
    <function name="operator Implicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="169" generated="true">
      <parameters>
        <parameter name="Value" type="TSmallPoint"/>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Returns a TPoint object.
operator Implicit returns a TPoint object with the same coordinates as the TSmallPoint object received as parameter. It converts a TSmallPoint to a TPoint and the conversion is implicit.
</summary></devnotes></function>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="170" generated="true">
      <parameters>
        <parameter name="Value" type="TPoint"/>
        <retval type="TSmallPoint"/>
      </parameters>
    <devnotes><summary>
Returns a TSmallPoint object.
operator Explicit returns a TSmallPoint object, with the same coordinates as the TPoint object received as parameter. It converts the coordinates to TSmallPoint values and the conversion must be explicit.
</summary></devnotes></function>
    <function name="PointInCircle" visibility="public" procflags="static inline" file="System.Types.pas" line="172">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <parameter name="Center" type="TPoint" paramflags="const"/>
        <parameter name="Radius" type="Integer" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether the point is on or inside a circle.
PointInCircle returns the Boolean value True if the point is on or inside the circle. Otherwise, it returns False. 
</summary></devnotes></function>
    <function name="Zero" visibility="public" procflags="static inline" file="System.Types.pas" line="174">
      <devnotes><summary>
Point where the values of X and Y are all 0.
</summary></devnotes>
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="176">
      <parameters>
        <parameter name="P2" type="TPoint" paramflags="const"/>
        <retval type="Double"/>
      </parameters>
    <devnotes><summary>
Calculates the distance between the current TPoint object and the point specified by the P2 parameter.
The Distance function calculates the length of the segment between the current TPoint point and the point specified by the P2 parameter. It calculates the euclidean distance between two points.
</summary></devnotes></function>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="178">
      <parameters>
        <parameter name="X" type="Integer" paramflags="const"/>
        <parameter name="Y" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Sets the location of a TPoint object.
Use SetLocation to set the location of a point at specified coordinates or at a specified TPoint location.
</summary></devnotes></procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="179">
      <parameters>
        <parameter name="P" type="TPoint" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Sets the location of a TPoint object.
Use SetLocation to set the location of a point at specified coordinates or at a specified TPoint location.
</summary></devnotes></procedure>
    <procedure name="Offset" visibility="public" procflags="overload" file="System.Types.pas" line="180">
      <parameters>
        <parameter name="DX" type="Integer" paramflags="const"/>
        <parameter name="DY" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Increments the values of X and Y.
Offset changes the location of the point by incrementing its X and Y values.
</summary></devnotes></procedure>
    <procedure name="Offset" visibility="public" procflags="overload" file="System.Types.pas" line="181">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Increments the values of X and Y.
Offset changes the location of the point by incrementing its X and Y values.
</summary></devnotes></procedure>
    <function name="Add" visibility="public" file="System.Types.pas" line="182">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Calculates the sum between two points.
Call the Add function to obtain the sum of two points. The X property of the result is the sum between the X value of the first TPoint object and the value of X of the second TPoint object. The Y property of the result is the sum between the Y value of the first TPoint object and the value of Y of the second TPoint object.
</summary></devnotes></function>
    <function name="Subtract" visibility="public" file="System.Types.pas" line="183">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Calculates the difference between two TPoint objects.
The X property of the result is the difference between the X value of the first TPoint and the value of X of the second TPoint. The Y property of the result is the difference between the Y value of the first TPoint and the value of Y of the second TPoint.
</summary></devnotes></function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="184">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether the point is zero. 
IsZero returns the Boolean value True if the point is zero. Otherwise, it returns False.
A point is zero if its X and Y properties are equal to zero.
</summary></devnotes></function>
    <function name="Angle" visibility="public" file="System.Types.pas" line="186">
      <parameters>
        <parameter name="APoint" type="TPoint" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    <devnotes><summary>
Calculates the angle in radians between the positive X-axis of a plane and the point given by the coordinates (X, Y) on the plane. 
Angle is equivalent to  Arctan2(Y, X). The angle is positive for counter-clockwise angles (upper half-plane, Y &gt; 0), and negative for clockwise angles (lower half-plane, Y &lt; 0).
Arctan2(0, 0) is 0, because normally Arctan2(0, 0) is undefined.
</summary></devnotes></function>
  <devnotes><summary>
Defines a pixel location on-screen.
The TPoint type defines the integer type X and Y coordinates of
a pixel location on-screen, with the origin in the upper-left corner. X and Y specify the horizontal and vertical coordinates of a point, respectively.
The type of X and Y is FixedInt. 
</summary></devnotes></struct>
  <struct name="tagPOINT" alias="System.Types.TPoint" size="8" file="System.Types.pas" line="189">
    <field name="X" type="Integer" visibility="public" size="4" offset="0" file="System.Types.pas" line="157"/>
    <field name="Y" type="Integer" visibility="public" size="4" offset="4" file="System.Types.pas" line="158"/>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="160">
      <parameters>
        <parameter name="P" type="TPoint"/>
      </parameters>
    </constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="161">
      <parameters>
        <parameter name="X" type="Integer" paramflags="const"/>
        <parameter name="Y" type="Integer" paramflags="const"/>
      </parameters>
    </constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="164" generated="true">
      <parameters>
        <parameter name="Lhs" type="TPoint" paramflags="const"/>
        <parameter name="Rhs" type="TPoint" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="165" generated="true">
      <parameters>
        <parameter name="Lhs" type="TPoint" paramflags="const"/>
        <parameter name="Rhs" type="TPoint" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="166" generated="true">
      <parameters>
        <parameter name="Lhs" type="TPoint" paramflags="const"/>
        <parameter name="Rhs" type="TPoint" paramflags="const"/>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="167" generated="true">
      <parameters>
        <parameter name="Lhs" type="TPoint" paramflags="const"/>
        <parameter name="Rhs" type="TPoint" paramflags="const"/>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="operator Implicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="169" generated="true">
      <parameters>
        <parameter name="Value" type="TSmallPoint"/>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="170" generated="true">
      <parameters>
        <parameter name="Value" type="TPoint"/>
        <retval type="TSmallPoint"/>
      </parameters>
    </function>
    <function name="PointInCircle" visibility="public" procflags="static inline" file="System.Types.pas" line="172">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <parameter name="Center" type="TPoint" paramflags="const"/>
        <parameter name="Radius" type="Integer" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Zero" visibility="public" procflags="static inline" file="System.Types.pas" line="174">
      <devnotes>
         <summary> Zero point having values of (0, 0). </summary>
      </devnotes>
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="176">
      <parameters>
        <parameter name="P2" type="TPoint" paramflags="const"/>
        <retval type="Double"/>
      </parameters>
    </function>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="178">
      <parameters>
        <parameter name="X" type="Integer" paramflags="const"/>
        <parameter name="Y" type="Integer" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="179">
      <parameters>
        <parameter name="P" type="TPoint" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="Offset" visibility="public" procflags="overload" file="System.Types.pas" line="180">
      <parameters>
        <parameter name="DX" type="Integer" paramflags="const"/>
        <parameter name="DY" type="Integer" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="Offset" visibility="public" procflags="overload" file="System.Types.pas" line="181">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="Add" visibility="public" file="System.Types.pas" line="182">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="Subtract" visibility="public" file="System.Types.pas" line="183">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="184">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Angle" visibility="public" file="System.Types.pas" line="186">
      <parameters>
        <parameter name="APoint" type="TPoint" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    </function>
  </struct>
  <const name="srLeft" type="TSplitRectType" file="System.Types.pas" line="197">
    <value>
      srLeft
    </value>
  </const>
  <const name="srRight" type="TSplitRectType" file="System.Types.pas" line="198">
    <value>
      srRight
    </value>
  </const>
  <const name="srTop" type="TSplitRectType" file="System.Types.pas" line="199">
    <value>
      srTop
    </value>
  </const>
  <const name="srBottom" type="TSplitRectType" file="System.Types.pas" line="200">
    <value>
      srBottom
    </value>
  </const>
  <enum name="TSplitRectType" file="System.Types.pas" line="196">
    <element value="0" name="srLeft" file="System.Types.pas" line="197"/>
    <element value="1" name="srRight" file="System.Types.pas" line="198"/>
    <element value="2" name="srTop" file="System.Types.pas" line="199"/>
    <element value="3" name="srBottom" file="System.Types.pas" line="200"/>
  </enum>
  <enum name="THorzRectAlign" file="System.Types.pas" line="204">
    <element value="0" name="Center" file="System.Types.pas" line="204"/>
    <element value="1" name="Left" file="System.Types.pas" line="204"/>
    <element value="2" name="Right" file="System.Types.pas" line="204"/>
  </enum>
  <enum name="TVertRectAlign" file="System.Types.pas" line="205">
    <element value="0" name="Center" file="System.Types.pas" line="205"/>
    <element value="1" name="Top" file="System.Types.pas" line="205"/>
    <element value="2" name="Bottom" file="System.Types.pas" line="205"/>
  </enum>
  <pointer name="PRect" type="TRect" indircnt="1" file="System.Types.pas" line="208"/>
  <struct name="TRect" size="16" file="System.Types.pas" line="209">
    <function name="GetWidth" visibility="private" file="System.Types.pas" line="211">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <procedure name="SetWidth" visibility="private" file="System.Types.pas" line="212">
      <parameters>
        <parameter name="Value" type="Integer" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetHeight" visibility="private" file="System.Types.pas" line="213">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <procedure name="SetHeight" visibility="private" file="System.Types.pas" line="214">
      <parameters>
        <parameter name="Value" type="Integer" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetSize" visibility="private" file="System.Types.pas" line="215">
      <parameters>
        <retval type="TSize"/>
      </parameters>
    </function>
    <procedure name="SetSize" visibility="private" file="System.Types.pas" line="216">
      <parameters>
        <parameter name="Value" type="TSize" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetLocation" visibility="private" file="System.Types.pas" line="217">
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="219">
      <parameters>
        <parameter name="Origin" type="TPoint" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Creates a TRect rectangle.
Use Create to construct and initialize a new TRect rectangle having Integer coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPoint type point.
P2 represents the lower-right corner of the rectangle as the TPoint type point.
Top, Bottom, Right, and Left are Integer vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Integer width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRect type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPoint) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="220">
      <parameters>
        <parameter name="Origin" type="TPoint" paramflags="const"/>
        <parameter name="Width" type="Integer"/>
        <parameter name="Height" type="Integer"/>
      </parameters>
    <devnotes><summary>
Creates a TRect rectangle.
Use Create to construct and initialize a new TRect rectangle having Integer coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPoint type point.
P2 represents the lower-right corner of the rectangle as the TPoint type point.
Top, Bottom, Right, and Left are Integer vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Integer width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRect type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPoint) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="221">
      <parameters>
        <parameter name="Left" type="Integer" paramflags="const"/>
        <parameter name="Top" type="Integer" paramflags="const"/>
        <parameter name="Right" type="Integer" paramflags="const"/>
        <parameter name="Bottom" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Creates a TRect rectangle.
Use Create to construct and initialize a new TRect rectangle having Integer coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPoint type point.
P2 represents the lower-right corner of the rectangle as the TPoint type point.
Top, Bottom, Right, and Left are Integer vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Integer width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRect type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPoint) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="222">
      <parameters>
        <parameter name="P1" type="TPoint" paramflags="const"/>
        <parameter name="P2" type="TPoint" paramflags="const"/>
        <parameter name="Normalize" type="Boolean">
          <value>
            False
          </value>
        </parameter>
      </parameters>
    <devnotes><summary>
Creates a TRect rectangle.
Use Create to construct and initialize a new TRect rectangle having Integer coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPoint type point.
P2 represents the lower-right corner of the rectangle as the TPoint type point.
Top, Bottom, Right, and Left are Integer vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Integer width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRect type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPoint) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="223">
      <parameters>
        <parameter name="R" type="TRect" paramflags="const"/>
        <parameter name="Normalize" type="Boolean">
          <value>
            False
          </value>
        </parameter>
      </parameters>
    <devnotes><summary>
Creates a TRect rectangle.
Use Create to construct and initialize a new TRect rectangle having Integer coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPoint type point.
P2 represents the lower-right corner of the rectangle as the TPoint type point.
Top, Bottom, Right, and Left are Integer vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Integer width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRect type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPoint) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="226" generated="true">
      <parameters>
        <parameter name="Lhs" type="TRect" paramflags="const"/>
        <parameter name="Rhs" type="TRect" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two rectangles are equal.
Operator Equality returns the Boolean value True if the two rectangles are equal. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="227" generated="true">
      <parameters>
        <parameter name="Lhs" type="TRect" paramflags="const"/>
        <parameter name="Rhs" type="TRect" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two rectangles are unequal.
Operator Inequality returns the Boolean value True if the two rectangles are not equal. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="230" generated="true">
      <parameters>
        <parameter name="Lhs" type="TRect" paramflags="const"/>
        <parameter name="Rhs" type="TRect" paramflags="const"/>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Calculates the Union of two rectangles.
Operator Addition calculates the Union of two rectangles and returns a TRect object.
</summary></devnotes></function>
    <function name="operator Multiply" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="233" generated="true">
      <parameters>
        <parameter name="Lhs" type="TRect" paramflags="const"/>
        <parameter name="Rhs" type="TRect" paramflags="const"/>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Calculates the intersection of two rectangles.
Operator Multiply calculates the Intersection of two rectangles and returns a TRect object, which is the area the two rectangles have in common.
</summary></devnotes></function>
    <function name="Empty" visibility="public" procflags="static inline" file="System.Types.pas" line="235">
      <parameters>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Creates an empty TRect object.
Empty creates an empty TRect object, with the upper-left corner and the lower-right corner both in the point (0, 0).
</summary></devnotes></function>
    <procedure name="NormalizeRect" visibility="public" file="System.Types.pas" line="239">
    <devnotes><summary>
Normalizes the TRect object.
Use the NormalizeRect method to normalize a TRect object.

Note: A normalized TRect object is a rectangle with Top &lt; Bottom or Left &lt; Right.
Note: Several methods of TRect (Height, Width, IsEmpty, PtInRect, and so on) assume normalized TRect objects, so use NormalizeRect if Top &gt; Bottom or Left &gt; Right. </summary></devnotes></procedure>
    <function name="IsEmpty" visibility="public" file="System.Types.pas" line="242">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether the rectangle is empty.
IsEmpty returns the Boolean value True if the rectangle is empty. Otherwise, it returns False.

 Note: Before calling IsEmpty, make sure the rectangle is normalized.</summary></devnotes></function>
    <function name="Contains" visibility="public" procflags="overload" file="System.Types.pas" line="245">
      <parameters>
        <parameter name="Pt" type="TPoint" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether a point or a rectangle is located within the rectangle.
Contains returns True if the received parameter is located within the rectangle.
A point located on the Top or Left side of the rectangle is considered to be within the rectangle, while one located on the Right or Bottom side is considered to be outside of the rectangle.
</summary></devnotes></function>
    <function name="Contains" visibility="public" procflags="overload" file="System.Types.pas" line="248">
      <parameters>
        <parameter name="R" type="TRect" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether a point or a rectangle is located within the rectangle.
Contains returns True if the received parameter is located within the rectangle.
A point located on the Top or Left side of the rectangle is considered to be within the rectangle, while one located on the Right or Bottom side is considered to be outside of the rectangle.
</summary></devnotes></function>
    <function name="IntersectsWith" visibility="public" file="System.Types.pas" line="251">
      <parameters>
        <parameter name="R" type="TRect" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two rectangles intersect.
IntersectsWith returns the Boolean value True if two rectangles intersect. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="Intersect" visibility="public" procflags="static overload" file="System.Types.pas" line="254">
      <parameters>
        <parameter name="R1" type="TRect" paramflags="const"/>
        <parameter name="R2" type="TRect" paramflags="const"/>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Calculates the intersection between two rectangles.
Intersect calculates the intersection between two rectangles and returns a TRect object, which is the area the two rectangles have in common.
</summary></devnotes></function>
    <procedure name="Intersect" visibility="public" procflags="overload" file="System.Types.pas" line="257">
      <parameters>
        <parameter name="R" type="TRect" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Calculates the intersection between two rectangles.
Intersect calculates the intersection between two rectangles and returns a TRect object, which is the area the two rectangles have in common.
</summary></devnotes></procedure>
    <function name="Union" visibility="public" procflags="static overload" file="System.Types.pas" line="260">
      <parameters>
        <parameter name="R1" type="TRect" paramflags="const"/>
        <parameter name="R2" type="TRect" paramflags="const"/>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Calculates the union between two rectangles.
Union returns a TRect object that represents the union between two rectangles.
</summary></devnotes></function>
    <procedure name="Union" visibility="public" procflags="overload" file="System.Types.pas" line="263">
      <parameters>
        <parameter name="R" type="TRect" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Calculates the union between two rectangles.
Union returns a TRect object that represents the union between two rectangles.
</summary></devnotes></procedure>
    <function name="Union" visibility="public" procflags="static overload" file="System.Types.pas" line="266">
      <parameters>
        <parameter name="Points" paramflags="const">
          <array name="Points" file="System.Types.pas" line="1717">
            <element type="TPoint"/>
          </array>
        </parameter>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Calculates the union between two rectangles.
Union returns a TRect object that represents the union between two rectangles.
</summary></devnotes></function>
    <procedure name="Offset" visibility="public" procflags="overload" file="System.Types.pas" line="269">
      <parameters>
        <parameter name="DX" type="Integer" paramflags="const"/>
        <parameter name="DY" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Adds horizontal and vertical specified offsets.
Offset does the following:

Adds the DX offset to the Left and Right properties.
Adds the DY offset to the Top and Bottom properties.</summary></devnotes></procedure>
    <procedure name="Offset" visibility="public" procflags="overload" file="System.Types.pas" line="270">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Adds horizontal and vertical specified offsets.
Offset does the following:

Adds the DX offset to the Left and Right properties.
Adds the DY offset to the Top and Bottom properties.</summary></devnotes></procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="273">
      <parameters>
        <parameter name="X" type="Integer" paramflags="const"/>
        <parameter name="Y" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Sets the location of a rectangle.
SetLocation sets the location of a rectangle to the (X, Y) or Point locations received as parameters. The location of the rectangle is represented by its upper-left corner.
</summary></devnotes></procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="274">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Sets the location of a rectangle.
SetLocation sets the location of a rectangle to the (X, Y) or Point locations received as parameters. The location of the rectangle is represented by its upper-left corner.
</summary></devnotes></procedure>
    <procedure name="Inflate" visibility="public" procflags="overload" file="System.Types.pas" line="277">
      <parameters>
        <parameter name="DX" type="Integer" paramflags="const"/>
        <parameter name="DY" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Inflates the dimensions of the rectangle.
Inflate increases the rectangle's dimensions by adding specified values to Right and Bottom, and dropping specified values from Top and Left. 
DX and DY are horizontal and vertical offsets, respectively.
The values of the rectangle's properties (Right, Bottom, Top, Left) can be modified by using the DR, DB, DT, DL parameters, respectively.
</summary></devnotes></procedure>
    <procedure name="Inflate" visibility="public" procflags="overload" file="System.Types.pas" line="280">
      <parameters>
        <parameter name="DL" type="Integer" paramflags="const"/>
        <parameter name="DT" type="Integer" paramflags="const"/>
        <parameter name="DR" type="Integer" paramflags="const"/>
        <parameter name="DB" type="Integer" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Inflates the dimensions of the rectangle.
Inflate increases the rectangle's dimensions by adding specified values to Right and Bottom, and dropping specified values from Top and Left. 
DX and DY are horizontal and vertical offsets, respectively.
The values of the rectangle's properties (Right, Bottom, Top, Left) can be modified by using the DR, DB, DT, DL parameters, respectively.
</summary></devnotes></procedure>
    <function name="CenterPoint" visibility="public" file="System.Types.pas" line="283">
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Returns the center point of the rectangle.
</summary></devnotes></function>
    <function name="SplitRect" visibility="public" procflags="overload" file="System.Types.pas" line="285">
      <parameters>
        <parameter name="SplitType" type="TSplitRectType"/>
        <parameter name="Size" type="Integer"/>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Returns a rectangle obtained from the current rectangle, applying the specified splitting rule.
SplitRect returns a rectangle obtained from the current rectangle by deleting of the specified by Size or Percent part of the current rectangle from the side specified by SplitType. 
If a value of Size or Percent is negative, then SplitRect adds the specified by Size or Percent part of the current rectangle to the side specified by SplitType. 
SplitType specifies which rectangle side (Left, Right, Top or Bottom) is moved when resizing a rectangle. For example, if srLeft is specified, then the left margin of the current rectangle is moved.
Percent defines the part of the current rectangle to be deleted or added. That is, SplitRect moves the SplitType side onto the specified Percent. 0 corresponds to zero percent. 1 corresponds to 100% percent. If Percent is positive, then the SplitType side is moved in the direction inside the current rectangle. Otherwise, the SplitType side is moved in the direction outside of the current rectangle.
Size or defines the absolute size of the width or height of the part of the current rectangle to be deleted or added. That is, SplitRect moves the SplitType side onto the specified Size distance. 
</summary></devnotes></function>
    <function name="SplitRect" visibility="public" procflags="overload" file="System.Types.pas" line="286">
      <parameters>
        <parameter name="SplitType" type="TSplitRectType"/>
        <parameter name="Percent" type="Double"/>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Returns a rectangle obtained from the current rectangle, applying the specified splitting rule.
SplitRect returns a rectangle obtained from the current rectangle by deleting of the specified by Size or Percent part of the current rectangle from the side specified by SplitType. 
If a value of Size or Percent is negative, then SplitRect adds the specified by Size or Percent part of the current rectangle to the side specified by SplitType. 
SplitType specifies which rectangle side (Left, Right, Top or Bottom) is moved when resizing a rectangle. For example, if srLeft is specified, then the left margin of the current rectangle is moved.
Percent defines the part of the current rectangle to be deleted or added. That is, SplitRect moves the SplitType side onto the specified Percent. 0 corresponds to zero percent. 1 corresponds to 100% percent. If Percent is positive, then the SplitType side is moved in the direction inside the current rectangle. Otherwise, the SplitType side is moved in the direction outside of the current rectangle.
Size or defines the absolute size of the width or height of the part of the current rectangle to be deleted or added. That is, SplitRect moves the SplitType side onto the specified Size distance. 
</summary></devnotes></function>
    <property name="Width" visibility="public" read="GetWidth" write="SetWidth" type="Integer" file="System.Types.pas" line="289"><devnotes><summary>
Returns the width of the rectangle.

 Note: Before calling Width, make sure the rectangle is normalized.</summary></devnotes></property>
    <property name="Height" visibility="public" read="GetHeight" write="SetHeight" type="Integer" file="System.Types.pas" line="291"><devnotes><summary>
Returns the height of the rectangle.

 Note: Before calling Height, make sure the rectangle is normalized.</summary></devnotes></property>
    <property name="Size" visibility="public" read="GetSize" write="SetSize" type="TSize" file="System.Types.pas" line="293"><devnotes><summary>
Returns the size of the rectangle.
Size returns the rectangle's width and height.
</summary></devnotes></property>
    <property name="Location" visibility="public" read="GetLocation" write="SetLocation" type="TPoint" file="System.Types.pas" line="295"><devnotes><summary>
Returns the X and Y coordinates of the upper-left corner point.
</summary></devnotes></property>
    <field name="Left" type="Integer" visibility="public" variant="true" size="4" offset="0" file="System.Types.pas" line="298"><devnotes><summary>
Represents the horizontal coordinate of the upper-left corner point of the rectangle.
</summary></devnotes></field>
    <field name="Top" type="Integer" visibility="public" variant="true" size="4" offset="4" file="System.Types.pas" line="298"><devnotes><summary>
Represents the vertical coordinate of the upper-left corner point of the rectangle.
</summary></devnotes></field>
    <field name="Right" type="Integer" visibility="public" variant="true" size="4" offset="8" file="System.Types.pas" line="298"><devnotes><summary>
Represents the horizontal coordinate of the lower-right corner point of the rectangle.
</summary></devnotes></field>
    <field name="Bottom" type="Integer" visibility="public" variant="true" size="4" offset="12" file="System.Types.pas" line="298"><devnotes><summary>
Represents the vertical coordinate of the lower-right corner point of the rectangle.
</summary></devnotes></field>
    <field name="TopLeft" type="TPoint" visibility="public" variant="true" size="8" offset="0" file="System.Types.pas" line="299"><devnotes><summary>
Returns the upper-left corner point of the rectangle.
TopLeft returns the upper-left corner point of the TRect object.
</summary></devnotes></field>
    <field name="BottomRight" type="TPoint" visibility="public" variant="true" size="8" offset="8" file="System.Types.pas" line="299"><devnotes><summary>
Returns the lower-right corner point of the rectangle.
BottomRight returns the lower-right corner point of the TRect object.
</summary></devnotes></field>
  <devnotes><summary>
TRect defines a rectangle.
TRect represents the dimensions of a rectangle. The coordinates are specified as either four separate integers representing the left, top, right, and bottom sides, or as two points representing the locations of the upper-left and lower-right corners. 
Typically, TRect values represent pixel locations, where the origin of the pixel coordinate system is in the upper-left corner of the screen (screen coordinates) or the upper-left corner of a control's client area (client coordinates). When a TRect value represents a rectangle on the screen, by convention the top and left edges are considered inside the rectangle and the bottom and right edges are considered outside the rectangle. This convention allows the width of the rectangle to be Right - Left and the height to be Bottom - Top.
</summary></devnotes></struct>
  <array name="TPointFType" low="0" high="1" file="System.Types.pas" line="305">
    <element type="Single"/>
  </array>
  <pointer name="PPointF" type="TPointF" indircnt="1" file="System.Types.pas" line="307"/>
  <struct name="TPointF" size="8" file="System.Types.pas" line="308">
    <function name="Create" visibility="public" procflags="static overload inline" file="System.Types.pas" line="309">
      <parameters>
        <parameter name="AX" type="Single" paramflags="const"/>
        <parameter name="AY" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Creates and returns a TPointF object. 
Use Create to construct and initialize a new TPointF object:

AX and AY specify the horizontal and vertical floating-point Single coordinates of the point, respectively.
APoint specifies the point coordinates using the TPointF type.</summary></devnotes></function>
    <function name="Create" visibility="public" procflags="static overload inline" file="System.Types.pas" line="310">
      <parameters>
        <parameter name="APoint" type="TPoint" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Creates and returns a TPointF object. 
Use Create to construct and initialize a new TPointF object:

AX and AY specify the horizontal and vertical floating-point Single coordinates of the point, respectively.
APoint specifies the point coordinates using the TPointF type.</summary></devnotes></function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="312" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Calculates the sum between two points.
Call Addition to calculate the sum between two points. The X property of the result is the sum between the X value of the first TPointF object and the value of X of the second TPointF object. The Y property of the result is the sum between the Y value of the first TPointF object and the value of Y of the second TPointF object. 
</summary></devnotes></function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="313" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Calculates the difference between two TPointF objects.
The X property of the result is the difference between the X value of the first TPointF and the value of X of the second TPointF. The Y property of the result is the difference between the Y value of the first TPointF and the value of Y of the second TPointF.
</summary></devnotes></function>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="314" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two TPointF objects are equal.
operator Equality tests whether two TPointF records are equal by comparing their X and Y values. It returns the Boolean value True if their X properties are equal and their Y properties are equal. Otherwise, it returns False. 
</summary></devnotes></function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="315" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two points are not equal.
operator Inequality tests whether two points are unequal by comparing their X and Y values. It returns the Boolean value True if at least one of their coordinates is different. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Implicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="316" generated="true">
      <parameters>
        <parameter name="APoint" type="TPoint" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <function name="operator UnaryNegation" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="317" generated="true">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <function name="operator Multiply" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="318" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <function name="operator Multiply" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="319" generated="true">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <parameter name="AFactor" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <function name="operator Multiply" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="320" generated="true">
      <parameters>
        <parameter name="AFactor" type="Single" paramflags="const"/>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <function name="operator Division" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="321" generated="true">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <parameter name="AFactor" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <function name="PointInCircle" visibility="public" procflags="static inline" file="System.Types.pas" line="323">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <parameter name="Center" type="TPointF" paramflags="const"/>
        <parameter name="Radius" type="Integer" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether the point is on or inside a circle.
PointInCircle returns the Boolean value True if the point is on or inside the circle. Otherwise, it returns False. 
</summary></devnotes></function>
    <function name="Zero" visibility="public" procflags="static inline" file="System.Types.pas" line="325">
      <devnotes><summary>
Point where the values of X and Y are all 0.
</summary></devnotes>
      <parameters>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="327">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    <devnotes><summary>
Calculates the distance between the current TPointF object and the point specified by the APoint parameter.
The Distance function calculates the length of the segment between the current TPointF point and the point specified by the APoint parameter. It calculates the euclidean distance between two points.
</summary></devnotes></function>
    <function name="CrossProduct" visibility="public" file="System.Types.pas" line="329">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    <devnotes><summary>
Calculates the cross product of two points.
CrossProduct returns the value that results of calculating the cross product of two  TPointF objects.
</summary></devnotes></function>
    <function name="DotProduct" visibility="public" procflags="inline" file="System.Types.pas" line="330">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    <devnotes><summary>
Calculates the dot product of two points.
DotProduct returns the value that results of calculating the dot product of two  TPointF objects.
</summary></devnotes></function>
    <procedure name="Offset" visibility="public" procflags="overload inline" file="System.Types.pas" line="332">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Increments the values of X and Y.
Offset changes the location of the point by incrementing its X and Y values.
</summary></devnotes></procedure>
    <procedure name="Offset" visibility="public" procflags="overload inline" file="System.Types.pas" line="333">
      <parameters>
        <parameter name="ADeltaX" type="Single" paramflags="const"/>
        <parameter name="ADeltaY" type="Single" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Increments the values of X and Y.
Offset changes the location of the point by incrementing its X and Y values.
</summary></devnotes></procedure>
    <procedure name="Offset" visibility="public" procflags="overload inline" file="System.Types.pas" line="334">
      <parameters>
        <parameter name="APoint" type="TPoint" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Increments the values of X and Y.
Offset changes the location of the point by incrementing its X and Y values.
</summary></devnotes></procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="336" symflags="deprecated">
      <parameters>
        <parameter name="X" type="Single" paramflags="const"/>
        <parameter name="Y" type="Single" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="337" symflags="deprecated">
      <parameters>
        <parameter name="P" type="TPointF" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="338" symflags="deprecated">
      <parameters>
        <parameter name="P" type="TPoint" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="Subtract" visibility="public" procflags="overload" file="System.Types.pas" line="339" symflags="deprecated">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>

Warning: Subtract is deprecated. Please use Offset. 


Calculates the difference between two TPointF objects.
The X property of the result is the difference between the X value of the first TPointF and the value of X of the second TPointF. The Y property of the result is the difference between the Y value of the first TPointF and the value of Y of the second TPointF.
</summary></devnotes></function>
    <function name="Subtract" visibility="public" procflags="overload" file="System.Types.pas" line="340" symflags="deprecated">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>

Warning: Subtract is deprecated. Please use Offset. 


Calculates the difference between two TPointF objects.
The X property of the result is the difference between the X value of the first TPointF and the value of X of the second TPointF. The Y property of the result is the difference between the Y value of the first TPointF and the value of Y of the second TPointF.
</summary></devnotes></function>
    <function name="Add" visibility="public" procflags="overload" file="System.Types.pas" line="341" symflags="deprecated">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>

Warning: Add is deprecated. Please use Offset. 


Calculates the sum between two points.
Call the Add function to obtain the sum of two points. The X property of the result is the sum between the X value of the first TPointF object and the value of X of the second TPointF object. The Y property of the result is the sum between the Y value of the first TPointF object and the value of Y of the second TPointF object.
</summary></devnotes></function>
    <function name="Add" visibility="public" procflags="overload" file="System.Types.pas" line="342" symflags="deprecated">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>

Warning: Add is deprecated. Please use Offset. 


Calculates the sum between two points.
Call the Add function to obtain the sum of two points. The X property of the result is the sum between the X value of the first TPointF object and the value of X of the second TPointF object. The Y property of the result is the sum between the Y value of the first TPointF object and the value of Y of the second TPointF object.
</summary></devnotes></function>
    <function name="Scale" visibility="public" file="System.Types.pas" line="343" symflags="deprecated">
      <parameters>
        <parameter name="AFactor" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>

Warning: Scale is deprecated.  



Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <function name="EqualsTo" visibility="public" file="System.Types.pas" line="344">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <parameter name="Epsilon" type="Single" paramflags="const">
          <value>
            0
          </value>
        </parameter>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="346">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether the point is zero. 
IsZero returns the boolean value True if the point is zero. Otherwise, it returns False.
A point is zero if its X and Y properties are equal to zero.
</summary></devnotes></function>
    <function name="Ceiling" visibility="public" file="System.Types.pas" line="347">
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Does superior rounding over the coordinates of the TPointF object.
</summary></devnotes></function>
    <function name="Truncate" visibility="public" file="System.Types.pas" line="348">
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Truncates the coordinates of the TPointF object.
</summary></devnotes></function>
    <function name="Round" visibility="public" file="System.Types.pas" line="349">
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    <devnotes><summary>
Rounds the coordinates of the TPointF object.
</summary></devnotes></function>
    <function name="SnapToPixel" visibility="public" file="System.Types.pas" line="355">
      <devnotes><summary>
Rounds the current  TPointF object to the specified scale value. For scale values less than 1, Scale is set to 1.  

AScale is the scale of scene.
APlaceBetweenPixels is set to True by default. When PlaceBetweenPixels is True, the resulting  TPointF moves to half the scale.
 SnapToPixel returns the current  TPointF object after the transformation.
</summary></devnotes>
      <parameters>
        <parameter name="AScale" type="Single" paramflags="const"/>
        <parameter name="APlaceBetweenPixels" type="Boolean" paramflags="const">
          <value>
            True
          </value>
        </parameter>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Normalize" visibility="public" file="System.Types.pas" line="357">
      <parameters>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Function to normalize the current  TPointF object. 
Normalizing a  TPointF object involves two steps:

Calculate the  Length.
Divide each of the coordinates of the  TPointF object by the  Length.
 Normalize returns the current  TPointF object normalized.
</summary></devnotes></function>
    <function name="Length" visibility="public" file="System.Types.pas" line="358">
      <parameters>
        <retval type="Single"/>
      </parameters>
    <devnotes><summary>
Calculates the length of the hypotenuse from (0,0) to the (X,Y) coordinates of the  TPointF object.
The magnitude of the hypotenuse is calculated with the square root of the sum of the squared coordinates.
</summary></devnotes></function>
    <function name="Rotate" visibility="public" file="System.Types.pas" line="359">
      <parameters>
        <parameter name="AAngle" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Function to rotate the current  TPointF object with the provided angle. 

Angle: The angle provided to calculate the rotation, in radians.
 Rotate returns the coordinates of the  TPointF object after rotation. 
</summary></devnotes></function>
    <function name="Reflect" visibility="public" procflags="inline" file="System.Types.pas" line="360">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Calculates the reflection of the current  TPointF object according to the line created with the APoint provided. 

APoint: The coordinates provided to calculate the reflection of the current  TPointF object.
 Reflect returns the coordinates of the  TPointF object reflected according to the line created with the APoint provided.   
</summary></devnotes></function>
    <function name="MidPoint" visibility="public" procflags="inline" file="System.Types.pas" line="361">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Calculates the halfway point of the segment created by the current  TPointF object and the APoint provided. 

APoint: The  point provided to calculate the midpoint of the segment created by the two points.
 MidPoint returns the coordinates of the midpoint  TPointF object that results of dividing the line segment into two equal parts. 
</summary></devnotes></function>
    <function name="AngleCosine" visibility="public" file="System.Types.pas" line="362">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    <devnotes><summary>
Calculates the angle cosine of the current  TPointF object. 
 AngleCosine returns the value in radians of the angle cosine calculated.
</summary></devnotes></function>
    <function name="Angle" visibility="public" file="System.Types.pas" line="363">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    <devnotes><summary>
Calculates the angle in radians formed by the point and the APoint parameter relative to the X-Axis using an Arctan2 function.

 Result := Arctan2(Self.Y - APoint.Y, Self.X - APoint.X);

Angle  is equivalent to Arctan2(X, Y), which is the angle in radians between the positive X-axis of a plane and the point given by the coordinates (X, Y) on the plane. The angle is positive for counter-clockwise angles (upper half-plane, Y &gt; 0), and negative for clockwise angles (lower half-plane, Y &lt; 0).
Arctan2(0, 0) is 0, because normally Arctan2(0, 0) is undefined.
</summary></devnotes></function>
    <field name="V" type="TPointFType" visibility="public" variant="true" size="8" offset="0" file="System.Types.pas" line="366"><devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></field>
    <field name="X" type="Single" visibility="public" variant="true" size="4" offset="0" file="System.Types.pas" line="367"><devnotes><summary>
Specifies the horizontal coordinate of the TPoint object.
The type of X is Single. 
</summary></devnotes></field>
    <field name="Y" type="Single" visibility="public" variant="true" size="4" offset="4" file="System.Types.pas" line="368"><devnotes><summary>
Specifies the vertical coordinate of the TPoint object.
The type of Y is Single. 
</summary></devnotes></field>
  <devnotes><summary>
Defines a pixel location on-screen.
The TPointF type defines the floating-point X and Y coordinates of a pixel location on-screen, with the origin in the upper-left corner. X and Y specify the horizontal and vertical coordinates of a point, respectively.
The type of X and Y is Single. 
The TPointF type is primarily used for the coordinates of FireMonkey objects. 
</summary></devnotes></struct>
  <struct name="tagPOINTF" alias="System.Types.TPointF" size="8" file="System.Types.pas" line="371">
    <function name="Create" visibility="public" procflags="static overload inline" file="System.Types.pas" line="309">
      <parameters>
        <parameter name="AX" type="Single" paramflags="const"/>
        <parameter name="AY" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Create" visibility="public" procflags="static overload inline" file="System.Types.pas" line="310">
      <parameters>
        <parameter name="APoint" type="TPoint" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="312" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="313" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="314" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="315" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Implicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="316" generated="true">
      <parameters>
        <parameter name="APoint" type="TPoint" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="operator UnaryNegation" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="317" generated="true">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="operator Multiply" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="318" generated="true">
      <parameters>
        <parameter name="APoint1" type="TPointF" paramflags="const"/>
        <parameter name="APoint2" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="operator Multiply" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="319" generated="true">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <parameter name="AFactor" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="operator Multiply" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="320" generated="true">
      <parameters>
        <parameter name="AFactor" type="Single" paramflags="const"/>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="operator Division" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="321" generated="true">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <parameter name="AFactor" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="PointInCircle" visibility="public" procflags="static inline" file="System.Types.pas" line="323">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <parameter name="Center" type="TPointF" paramflags="const"/>
        <parameter name="Radius" type="Integer" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Zero" visibility="public" procflags="static inline" file="System.Types.pas" line="325">
      <devnotes>
         <summary> Zero point having values of (0, 0). </summary>
      </devnotes>
      <parameters>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="327">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    </function>
    <function name="CrossProduct" visibility="public" file="System.Types.pas" line="329">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    </function>
    <function name="DotProduct" visibility="public" procflags="inline" file="System.Types.pas" line="330">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    </function>
    <procedure name="Offset" visibility="public" procflags="overload inline" file="System.Types.pas" line="332">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="Offset" visibility="public" procflags="overload inline" file="System.Types.pas" line="333">
      <parameters>
        <parameter name="ADeltaX" type="Single" paramflags="const"/>
        <parameter name="ADeltaY" type="Single" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="Offset" visibility="public" procflags="overload inline" file="System.Types.pas" line="334">
      <parameters>
        <parameter name="APoint" type="TPoint" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="336" symflags="deprecated">
      <parameters>
        <parameter name="X" type="Single" paramflags="const"/>
        <parameter name="Y" type="Single" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="337" symflags="deprecated">
      <parameters>
        <parameter name="P" type="TPointF" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="338" symflags="deprecated">
      <parameters>
        <parameter name="P" type="TPoint" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="Subtract" visibility="public" procflags="overload" file="System.Types.pas" line="339" symflags="deprecated">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Subtract" visibility="public" procflags="overload" file="System.Types.pas" line="340" symflags="deprecated">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Add" visibility="public" procflags="overload" file="System.Types.pas" line="341" symflags="deprecated">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Add" visibility="public" procflags="overload" file="System.Types.pas" line="342" symflags="deprecated">
      <parameters>
        <parameter name="Point" type="TPoint" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Scale" visibility="public" file="System.Types.pas" line="343" symflags="deprecated">
      <parameters>
        <parameter name="AFactor" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="EqualsTo" visibility="public" file="System.Types.pas" line="344">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <parameter name="Epsilon" type="Single" paramflags="const">
          <value>
            0
          </value>
        </parameter>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="346">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Ceiling" visibility="public" file="System.Types.pas" line="347">
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="Truncate" visibility="public" file="System.Types.pas" line="348">
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="Round" visibility="public" file="System.Types.pas" line="349">
      <parameters>
        <retval type="TPoint"/>
      </parameters>
    </function>
    <function name="SnapToPixel" visibility="public" file="System.Types.pas" line="355">
      <devnotes>
         <summary> Rounds the current point to the specified scale value
         <param name="AScale"> The scale of scene </param>
         <param name="APlaceBetweenPixels"> If <c>True</c> (by default) the resulting point moves to half scale </param>
         </summary>
         <returns> The current point after transformation </returns>
      </devnotes>
      <parameters>
        <parameter name="AScale" type="Single" paramflags="const"/>
        <parameter name="APlaceBetweenPixels" type="Boolean" paramflags="const">
          <value>
            True
          </value>
        </parameter>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Normalize" visibility="public" file="System.Types.pas" line="357">
      <parameters>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Length" visibility="public" file="System.Types.pas" line="358">
      <parameters>
        <retval type="Single"/>
      </parameters>
    </function>
    <function name="Rotate" visibility="public" file="System.Types.pas" line="359">
      <parameters>
        <parameter name="AAngle" type="Single" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="Reflect" visibility="public" procflags="inline" file="System.Types.pas" line="360">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="MidPoint" visibility="public" procflags="inline" file="System.Types.pas" line="361">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <function name="AngleCosine" visibility="public" file="System.Types.pas" line="362">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    </function>
    <function name="Angle" visibility="public" file="System.Types.pas" line="363">
      <parameters>
        <parameter name="APoint" type="TPointF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    </function>
    <field name="V" type="TPointFType" visibility="public" variant="true" size="8" offset="0" file="System.Types.pas" line="366"/>
    <field name="X" type="Single" visibility="public" variant="true" size="4" offset="0" file="System.Types.pas" line="367"/>
    <field name="Y" type="Single" visibility="public" variant="true" size="4" offset="4" file="System.Types.pas" line="368"/>
  </struct>
  <pointer name="PSizeF" type="TSizeF" indircnt="1" file="System.Types.pas" line="377"/>
  <struct name="TSizeF" size="8" file="System.Types.pas" line="378">
    <field name="cx" type="Single" visibility="public" size="4" offset="0" file="System.Types.pas" line="379"><devnotes><summary>
Specifies the height of an object.
cx specifies the height of an object such as a rectangle, a form, a button, and so on. Typically, the implied units of measurement are pixels.
The type of the cx field is Single.


</summary></devnotes></field>
    <field name="cy" type="Single" visibility="public" size="4" offset="4" file="System.Types.pas" line="380"><devnotes><summary>
Specifies the width of an object.
cy specifies the width of an object such as a rectangle, a form, a button, and so on. Typically, the implied units of measurement are pixels. 
The type of the cy field is Single.


</summary></devnotes></field>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="382">
      <parameters>
        <parameter name="P" type="TSizeF"/>
      </parameters>
    <devnotes><summary>
Creates a TSizeF object.
The type of the Width and Height properties is Single.
To create a nonempty TSizeF object, send a TSizeF object, or a width and a height, through the constructor parameters.


</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="383">
      <parameters>
        <parameter name="X" type="Single" paramflags="const"/>
        <parameter name="Y" type="Single" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Creates a TSizeF object.
The type of the Width and Height properties is Single.
To create a nonempty TSizeF object, send a TSizeF object, or a width and a height, through the constructor parameters.


</summary></devnotes></constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="385" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSizeF" paramflags="const"/>
        <parameter name="Rhs" type="TSizeF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two TSizeF records are equal, by comparing their cx and cy values.
It returns the Boolean value True if their cx properties are equal and their cy properties are equal. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="386" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSizeF" paramflags="const"/>
        <parameter name="Rhs" type="TSizeF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two TSizeF records are unequal, by comparing their cx and cy values.
It returns the Boolean value True if at least one of their cx or cy properties are unequal. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="387" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSizeF" paramflags="const"/>
        <parameter name="Rhs" type="TSizeF" paramflags="const"/>
        <retval type="TSizeF"/>
      </parameters>
    <devnotes><summary>
Calculates the sum between two TSizeF objects.
Use operator Addition to add the width and height of one TSizeF object to the width and height of another TSizeF object.
</summary></devnotes></function>
    <function name="operator Subtraction" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="388" generated="true">
      <parameters>
        <parameter name="Lhs" type="TSizeF" paramflags="const"/>
        <parameter name="Rhs" type="TSizeF" paramflags="const"/>
        <retval type="TSizeF"/>
      </parameters>
    <devnotes><summary>
Calculates the difference between two TSizeF objects.
The cx property of the result is the difference between the cx value of the first TSizeF object and the value of cx of the second TSizeF object.
The cy property of the result is the difference between the cy value of the first TSizeF object and the value of cy of the second TSizeF object.
</summary></devnotes></function>
    <function name="operator Implicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="390" generated="true">
      <parameters>
        <parameter name="Size" type="TSizeF" paramflags="const"/>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Returns a TSizeF object, with the same value as the parameter sent.
operator Implicit returns a TSizeF object, with the values of the Width and Height properties set on the values of the TSize, TSizeF or TPoint received as parameter.
</summary></devnotes></function>
    <function name="operator Implicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="391" generated="true">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
        <retval type="TSizeF"/>
      </parameters>
    <devnotes><summary>
Returns a TSizeF object, with the same value as the parameter sent.
operator Implicit returns a TSizeF object, with the values of the Width and Height properties set on the values of the TSize, TSizeF or TPoint received as parameter.
</summary></devnotes></function>
    <function name="operator Implicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="392" generated="true">
      <parameters>
        <parameter name="Size" type="TSize" paramflags="const"/>
        <retval type="TSizeF"/>
      </parameters>
    <devnotes><summary>
Returns a TSizeF object, with the same value as the parameter sent.
operator Implicit returns a TSizeF object, with the values of the Width and Height properties set on the values of the TSize, TSizeF or TPoint received as parameter.
</summary></devnotes></function>
    <function name="Ceiling" visibility="public" file="System.Types.pas" line="394">
      <parameters>
        <retval type="TSize"/>
      </parameters>
    <devnotes><summary>
Does superior rounding over the TSizeF object.
Call Ceiling to do a superior rounding over the values of the Width and Height properties of the TSizeF object.
</summary></devnotes></function>
    <function name="Truncate" visibility="public" file="System.Types.pas" line="395">
      <parameters>
        <retval type="TSize"/>
      </parameters>
    <devnotes><summary>
Truncates the TSizeF object.
Call Truncate to truncate the values of the Width and Height properties of the TSizeF object.
</summary></devnotes></function>
    <function name="Round" visibility="public" file="System.Types.pas" line="396">
      <parameters>
        <retval type="TSize"/>
      </parameters>
    <devnotes><summary>
Rounds the TSizeF object.
Call Round to round the values of the Width and Height properties of the TSizeF object.
</summary></devnotes></function>
    <function name="Add" visibility="public" file="System.Types.pas" line="399">
      <parameters>
        <parameter name="Point" type="TSizeF" paramflags="const"/>
        <retval type="TSizeF"/>
      </parameters>
    <devnotes><summary>
Calculates the sum between two TSizeF objects.
Use Add to add the width and height of one TSizeF object to the width and height of another TSizeF object.
</summary></devnotes></function>
    <function name="Subtract" visibility="public" file="System.Types.pas" line="400">
      <parameters>
        <parameter name="Point" type="TSizeF" paramflags="const"/>
        <retval type="TSizeF"/>
      </parameters>
    <devnotes><summary>
Calculates the difference between two TSizeF objects.
The cx property of the result is the difference between the cx value of the first TSizeF object and the value of cx of the second TSizeF object.
The cy property of the result is the difference between the cy value of the first TSizeF object and the value of cy of the second TSizeF object.
</summary></devnotes></function>
    <function name="Distance" visibility="public" file="System.Types.pas" line="401">
      <parameters>
        <parameter name="P2" type="TSizeF" paramflags="const"/>
        <retval type="Double"/>
      </parameters>
    <devnotes><summary>
Calculates the euclidean difference between two TSizeF objects.
</summary></devnotes></function>
    <function name="IsZero" visibility="public" file="System.Types.pas" line="402">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether the width and the height of the TSizeF object are zero.
IsZero returns the Boolean value True if both the width and the height of the TSizeF object are zero. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="SwapDimensions" visibility="public" file="System.Types.pas" line="404">
      <devnotes><summary>
Returns the height and width sizes swapped.


</summary></devnotes>
      <parameters>
        <retval type="TSizeF"/>
      </parameters>
    </function>
    <property name="Width" visibility="public" read="cx" write="cx" type="Single" default="0" file="System.Types.pas" line="406"><devnotes><summary>
Specified the width of the TSizeF object.
The type of the Width property is Single.
</summary></devnotes></property>
    <property name="Height" visibility="public" read="cy" write="cy" type="Single" default="0" file="System.Types.pas" line="407"><devnotes><summary>
Specifies the height of the TSizeF object.
The type of the Height property is Single.
</summary></devnotes></property>
  <devnotes><summary>
Represents the floating-point width and height of an object.
TSizeF represents the  floating-point size of an object using the Width and Height properties:

Width is stored in the cx field.
Height is stored in the cy field.
The object can be a rectangle, a form, a button, and so on. Typically, the implied units of measurement are pixels.
The type of the Width and Height properties is Single.
</summary></devnotes></struct>
  <pointer name="PRectF" type="TRectF" indircnt="1" file="System.Types.pas" line="410"/>
  <struct name="TRectF" size="16" file="System.Types.pas" line="411">
    <function name="GetWidth" visibility="private" file="System.Types.pas" line="413">
      <parameters>
        <retval type="Single"/>
      </parameters>
    </function>
    <procedure name="SetWidth" visibility="private" file="System.Types.pas" line="414">
      <parameters>
        <parameter name="Value" type="Single" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetHeight" visibility="private" file="System.Types.pas" line="415">
      <parameters>
        <retval type="Single"/>
      </parameters>
    </function>
    <procedure name="SetHeight" visibility="private" file="System.Types.pas" line="416">
      <parameters>
        <parameter name="Value" type="Single" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetSize" visibility="private" file="System.Types.pas" line="417">
      <parameters>
        <retval type="TSizeF"/>
      </parameters>
    </function>
    <procedure name="SetSize" visibility="private" file="System.Types.pas" line="418">
      <parameters>
        <parameter name="Value" type="TSizeF" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetLocation" visibility="private" file="System.Types.pas" line="419">
      <parameters>
        <retval type="TPointF"/>
      </parameters>
    </function>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="421">
      <parameters>
        <parameter name="Origin" type="TPointF" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Creates a TRectF rectangle having floating-point coordinates.
Use Create to construct and initialize a new TRectF rectangle object having Single coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPointF type point.
P2 represents the lower-right corner of the rectangle as the TPointF type point.
Top, Bottom, Right, and Left are Single vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Single width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRectF (or TRect) type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPointF) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="422">
      <parameters>
        <parameter name="Origin" type="TPointF" paramflags="const"/>
        <parameter name="Width" type="Single" paramflags="const"/>
        <parameter name="Height" type="Single" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Creates a TRectF rectangle having floating-point coordinates.
Use Create to construct and initialize a new TRectF rectangle object having Single coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPointF type point.
P2 represents the lower-right corner of the rectangle as the TPointF type point.
Top, Bottom, Right, and Left are Single vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Single width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRectF (or TRect) type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPointF) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="423">
      <parameters>
        <parameter name="Left" type="Single" paramflags="const"/>
        <parameter name="Top" type="Single" paramflags="const"/>
        <parameter name="Right" type="Single" paramflags="const"/>
        <parameter name="Bottom" type="Single" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Creates a TRectF rectangle having floating-point coordinates.
Use Create to construct and initialize a new TRectF rectangle object having Single coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPointF type point.
P2 represents the lower-right corner of the rectangle as the TPointF type point.
Top, Bottom, Right, and Left are Single vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Single width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRectF (or TRect) type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPointF) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="424">
      <parameters>
        <parameter name="P1" type="TPointF" paramflags="const"/>
        <parameter name="P2" type="TPointF" paramflags="const"/>
        <parameter name="Normalize" type="Boolean">
          <value>
            False
          </value>
        </parameter>
      </parameters>
    <devnotes><summary>
Creates a TRectF rectangle having floating-point coordinates.
Use Create to construct and initialize a new TRectF rectangle object having Single coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPointF type point.
P2 represents the lower-right corner of the rectangle as the TPointF type point.
Top, Bottom, Right, and Left are Single vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Single width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRectF (or TRect) type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPointF) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="425">
      <parameters>
        <parameter name="R" type="TRectF" paramflags="const"/>
        <parameter name="Normalize" type="Boolean">
          <value>
            False
          </value>
        </parameter>
      </parameters>
    <devnotes><summary>
Creates a TRectF rectangle having floating-point coordinates.
Use Create to construct and initialize a new TRectF rectangle object having Single coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPointF type point.
P2 represents the lower-right corner of the rectangle as the TPointF type point.
Top, Bottom, Right, and Left are Single vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Single width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRectF (or TRect) type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPointF) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <constructor name="Create" visibility="public" file="System.Types.pas" line="426">
      <parameters>
        <parameter name="R" type="TRect" paramflags="const"/>
        <parameter name="Normalize" type="Boolean">
          <value>
            False
          </value>
        </parameter>
      </parameters>
    <devnotes><summary>
Creates a TRectF rectangle having floating-point coordinates.
Use Create to construct and initialize a new TRectF rectangle object having Single coordinates:

Origin and P1 represent the upper-left corner of the rectangle as the TPointF type point.
P2 represents the lower-right corner of the rectangle as the TPointF type point.
Top, Bottom, Right, and Left are Single vertical or horizontal coordinates of the upper, lower, right, and left sides of the rectangle, respectively.
Width and Height are Single width and height of the rectangle, respectively.
R is the rectangle with coordinates specified using the TRectF (or TRect) type.
Normalize specifies to create a normalized rectangle.
Note: Create(const Origin: TPointF) creates an empty rectangle at the given Origin.</summary></devnotes></constructor>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="429" generated="true">
      <parameters>
        <parameter name="Lhs" type="TRectF" paramflags="const"/>
        <parameter name="Rhs" type="TRectF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two rectangles are equal.
Operator Equality returns the Boolean value True if the two rectangles are equal. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="430" generated="true">
      <parameters>
        <parameter name="Lhs" type="TRectF" paramflags="const"/>
        <parameter name="Rhs" type="TRectF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two rectangles are unequal.
Operator Inequality returns the Boolean value True if the two rectangles are unequal. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="operator Implicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="431" generated="true">
      <parameters>
        <parameter name="Source" type="TRect" paramflags="const"/>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Returns a TRectF object.
operator Implicit returns a TRectF object with the same coordinates as the TRect object received as parameter. It implicitly converts a TRect object with integer coordinates to a TRectF object with coordinates in floating points.
</summary></devnotes></function>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="432" generated="true">
      <parameters>
        <parameter name="Source" type="TRectF" paramflags="const"/>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Returns a TRect object.
operator Explicit returns a TRect object with the same coordinates as the TRectF object received as parameter. It rounds the TRectF object with single coordinates to a TRect object with integer coordinates.
</summary></devnotes></function>
    <function name="operator Addition" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="435" generated="true">
      <parameters>
        <parameter name="Lhs" type="TRectF" paramflags="const"/>
        <parameter name="Rhs" type="TRectF" paramflags="const"/>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Calculates the Union of two rectangles and returns a TRectF object.
</summary></devnotes></function>
    <function name="operator Multiply" visibility="public" procflags="class noself operator overload" file="System.Types.pas" line="438" generated="true">
      <parameters>
        <parameter name="Lhs" type="TRectF" paramflags="const"/>
        <parameter name="Rhs" type="TRectF" paramflags="const"/>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Calculates the intersection of two rectangles.
Operator Multiply calculates the Intersection of two rectangles and returns a TRectF object, which is the area the two rectangles have in common.
</summary></devnotes></function>
    <function name="Empty" visibility="public" procflags="static inline" file="System.Types.pas" line="440">
      <parameters>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Creates an empty TRectF object.
Empty creates an empty TRectF object, with the upper-left corner and the lower-right corner both in the point (0, 0).
</summary></devnotes></function>
    <function name="Fit" visibility="public" file="System.Types.pas" line="444">
      <parameters>
        <parameter name="BoundsRect" type="TRectF" paramflags="const"/>
        <retval type="Single"/>
      </parameters>
    <devnotes><summary>
Scales down, if needed, the current rectangle to fit into BoundsRect and centers the scaled rectangle in BoundsRect. Returns the implemented scaling ratio.
Fit implements the following functionality: 

If any dimension of the current rectangle is greater than the corresponding dimension of the BoundsRect rectangle, then Fit scales down the current rectangle (keeping current rectangle proportions the ratio between the width and height) to fit the current rectangle in the BoundsRect rectangle. That is, the whole scaled rectangle should be fitted in the specified BoundsRect rectangle. The current rectangle is placed centered in the BoundsRect rectangle and returns the implemented scaling ratio.

If the current rectangle is smaller than the BoundsRect rectangle, then the current rectangle is not resized. Fit centers the current rectangle in the BoundsRect rectangle. Fit returns the maximum value between width_of_current_rectangle/width_of_BoundsRect and height_of_current_rectangle/height_of_BoundsRect.

If any of the BoundsRect dimensions is zero, Fit centers the current rectangle in the BoundsRect rectangle and returns 1.</summary></devnotes></function>
    <function name="FitInto" visibility="public" procflags="overload" file="System.Types.pas" line="449">
      <parameters>
        <parameter name="ADesignatedArea" type="TRectF" paramflags="const"/>
        <parameter name="Ratio" type="Single" paramflags="out"/>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Resizes the current rectangle, preserving the current rectangle proportions, to best fit in the ADesignatedArea rectangle, and returns the scaled rectangle centered in ADesignatedArea.
FitInto implements the following functionality: 

If any of the current rectangle dimensions is greater than the corresponding dimension of the ADesignatedArea rectangle, then FitInto scales down the current rectangle to fit into ADesignatedArea. The scaled rectangle is centered in the ADesignatedArea rectangle and the obtained scaled and centered rectangle is returned.
If both width and height of the current rectangle dimensions is smaller than the corresponding dimensions of the ADesignatedArea rectangle, then FitInto stretches the current rectangle to best fit into ADesignatedArea. The stretched rectangle is centered in the ADesignatedArea rectangle and the obtained stretched and centered rectangle is returned.
If any of the ADesignatedArea dimensions is zero then FitInto returns the current rectangle and sets Ratio equals to 1.
Ratio is the implemented scaling ratio. 
</summary></devnotes></function>
    <function name="FitInto" visibility="public" procflags="overload" file="System.Types.pas" line="450">
      <parameters>
        <parameter name="ADesignatedArea" type="TRectF" paramflags="const"/>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Resizes the current rectangle, preserving the current rectangle proportions, to best fit in the ADesignatedArea rectangle, and returns the scaled rectangle centered in ADesignatedArea.
FitInto implements the following functionality: 

If any of the current rectangle dimensions is greater than the corresponding dimension of the ADesignatedArea rectangle, then FitInto scales down the current rectangle to fit into ADesignatedArea. The scaled rectangle is centered in the ADesignatedArea rectangle and the obtained scaled and centered rectangle is returned.
If both width and height of the current rectangle dimensions is smaller than the corresponding dimensions of the ADesignatedArea rectangle, then FitInto stretches the current rectangle to best fit into ADesignatedArea. The stretched rectangle is centered in the ADesignatedArea rectangle and the obtained stretched and centered rectangle is returned.
If any of the ADesignatedArea dimensions is zero then FitInto returns the current rectangle and sets Ratio equals to 1.
Ratio is the implemented scaling ratio. 
</summary></devnotes></function>
    <function name="CenterAt" visibility="public" file="System.Types.pas" line="453">
      <devnotes><summary>
Places the current  TRectF object in the center of the designated area without scaling. 

ADesignatedArea: The coordinates of the rectangle that forms the area to center the current rectangle.
 CenterAt returns the current rectangle placed in the center of the area provided.
</summary></devnotes>
      <parameters>
        <parameter name="ADesignatedArea" type="TRectF" paramflags="const"/>
        <retval type="TRectF"/>
      </parameters>
    </function>
    <function name="PlaceInto" visibility="public" file="System.Types.pas" line="464">
      <devnotes><summary>
If any dimension of the current rectangle is greater than the corresponding dimension of the ADesignatedArea rectangle, then the current rectangle is scaled down to best fit the ADesignatedArea rectangle. The obtained rectangle is aligned in ADesignatedArea.
PlaceInto  implements the following behavior:

If the width or height of the current rectangle is greater than the corresponding dimension of ADesignatedArea. Then PlaceInto scales down the current rectangle (preserving the current rectangle proportions the ratio between the width and height) to fit in the ADesignatedArea rectangle and centers the scaled rectangle in ADesignatedArea. Then PlaceInto aligns the obtained rectangle in the ADesignatedArea rectangle according to the specified AHorzAlign and AVertAlign. By default, PlaceInto centers the scaled rectangle in the ADesignatedArea rectangle.
Otherwise, PlaceInto just aligns the current rectangle in the ADesignatedArea rectangle according to the specified AHorzAlign and AVertAlign. By default, PlaceInto centers the scaled rectangle in the ADesignatedArea rectangle.
PlaceInto returns the current rectangle if any of the ADesignatedArea dimensions is zero.</summary></devnotes>
      <parameters>
        <parameter name="ADesignatedArea" type="TRectF" paramflags="const"/>
        <parameter name="AHorzAlign" type="THorzRectAlign" paramflags="const">
          <value>
            Center
          </value>
        </parameter>
        <parameter name="AVertAlign" type="TVertRectAlign" paramflags="const">
          <value>
            Center
          </value>
        </parameter>
        <retval type="TRectF"/>
      </parameters>
    </function>
    <function name="SnapToPixel" visibility="public" file="System.Types.pas" line="472">
      <devnotes><summary>
Rounds the location and size of the current rectangle to the specified AScale value. 

AScale is the scale of scene.
APlaceBetweenPixels is set to True by default. When PlaceBetweenPixels is True, the resulting  TRectF moves to half the scale.
 SnapToPixel returns the current  TRectF object after the transformation.
</summary></devnotes>
      <parameters>
        <parameter name="AScale" type="Single" paramflags="const"/>
        <parameter name="APlaceBetweenPixels" type="Boolean" paramflags="const">
          <value>
            True
          </value>
        </parameter>
        <retval type="TRectF"/>
      </parameters>
    </function>
    <procedure name="NormalizeRect" visibility="public" file="System.Types.pas" line="475">
    <devnotes><summary>
Normalizes the TRectF object. 
Use the NormalizeRect method to normalize a TRectF object.
A normalized TRectF object is a rectangle where the Top is less than the Bottom and the Left is less than the Right.
Several methods of TRectF (Height, Width, IsEmpty, PtInRect, and so on) assume normalized TRectF objects, so use NormalizeRect if the Top is greater than the Bottom or if the Left is greater than the Right.
</summary></devnotes></procedure>
    <function name="IsEmpty" visibility="public" file="System.Types.pas" line="478">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether the rectangle is empty.
IsEmpty returns the Boolean value True if the rectangle is empty. Otherwise, it returns False.

 Note: Before calling IsEmpty, make sure the rectangle is normalized.</summary></devnotes></function>
    <function name="Contains" visibility="public" procflags="overload" file="System.Types.pas" line="481">
      <parameters>
        <parameter name="Pt" type="TPointF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether a point or a rectangle is located within the rectangle.
Contains returns True if the received parameter is located within the rectangle.

 Note: A point located on the Top or Left side of the rectangle is considered to be within the rectangle, while one located on the Right or Bottom side is considered to be outside of the rectangle. </summary></devnotes></function>
    <function name="Contains" visibility="public" procflags="overload" file="System.Types.pas" line="484">
      <parameters>
        <parameter name="R" type="TRectF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether a point or a rectangle is located within the rectangle.
Contains returns True if the received parameter is located within the rectangle.

 Note: A point located on the Top or Left side of the rectangle is considered to be within the rectangle, while one located on the Right or Bottom side is considered to be outside of the rectangle. </summary></devnotes></function>
    <function name="IntersectsWith" visibility="public" file="System.Types.pas" line="487">
      <parameters>
        <parameter name="R" type="TRectF" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Tests whether two rectangles intersect.
IntersectsWith returns the Boolean value True if two rectangles intersect. Otherwise, it returns False.
</summary></devnotes></function>
    <function name="Intersect" visibility="public" procflags="static overload" file="System.Types.pas" line="490">
      <parameters>
        <parameter name="R1" type="TRectF" paramflags="const"/>
        <parameter name="R2" type="TRectF" paramflags="const"/>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Calculates the intersection between two rectangles.
Intersect calculates the intersection between two rectangles and returns a TRectF object, which is the area the two rectangles have in common.
</summary></devnotes></function>
    <procedure name="Intersect" visibility="public" procflags="overload" file="System.Types.pas" line="493">
      <parameters>
        <parameter name="R" type="TRectF" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Calculates the intersection between two rectangles.
Intersect calculates the intersection between two rectangles and returns a TRectF object, which is the area the two rectangles have in common.
</summary></devnotes></procedure>
    <function name="Union" visibility="public" procflags="static overload" file="System.Types.pas" line="496">
      <parameters>
        <parameter name="R1" type="TRectF" paramflags="const"/>
        <parameter name="R2" type="TRectF" paramflags="const"/>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Calculates the union between two rectangles.
Union returns a TRectF object that represents the union between two rectangles.
</summary></devnotes></function>
    <procedure name="Union" visibility="public" procflags="overload" file="System.Types.pas" line="499">
      <parameters>
        <parameter name="R" type="TRectF" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Calculates the union between two rectangles.
Union returns a TRectF object that represents the union between two rectangles.
</summary></devnotes></procedure>
    <function name="Union" visibility="public" procflags="static overload" file="System.Types.pas" line="502">
      <parameters>
        <parameter name="Points" paramflags="const">
          <array name="Points" file="System.Types.pas" line="2888">
            <element type="TPointF"/>
          </array>
        </parameter>
        <retval type="TRectF"/>
      </parameters>
    <devnotes><summary>
Calculates the union between two rectangles.
Union returns a TRectF object that represents the union between two rectangles.
</summary></devnotes></function>
    <procedure name="Offset" visibility="public" procflags="overload" file="System.Types.pas" line="505">
      <parameters>
        <parameter name="DX" type="Single" paramflags="const"/>
        <parameter name="DY" type="Single" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Adds horizontal and vertical specified offsets.
Offset does the following:

Adds the DX offset to the Left and Right properties.
Adds the DY offset to the Top and Bottom properties.
In the second overload of the procedure, the offsets are represented by the coordinates of the point received as parameter.
</summary></devnotes></procedure>
    <procedure name="Offset" visibility="public" procflags="overload" file="System.Types.pas" line="506">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Adds horizontal and vertical specified offsets.
Offset does the following:

Adds the DX offset to the Left and Right properties.
Adds the DY offset to the Top and Bottom properties.
In the second overload of the procedure, the offsets are represented by the coordinates of the point received as parameter.
</summary></devnotes></procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="509">
      <parameters>
        <parameter name="X" type="Single" paramflags="const"/>
        <parameter name="Y" type="Single" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Sets the location of a rectangle.
SetLocation sets the location of a rectangle to the (X, Y) or point locations received as parameters. The location of the rectangle is represented by its upper-left corner.
</summary></devnotes></procedure>
    <procedure name="SetLocation" visibility="public" procflags="overload" file="System.Types.pas" line="510">
      <parameters>
        <parameter name="Point" type="TPointF" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Sets the location of a rectangle.
SetLocation sets the location of a rectangle to the (X, Y) or point locations received as parameters. The location of the rectangle is represented by its upper-left corner.
</summary></devnotes></procedure>
    <procedure name="Inflate" visibility="public" procflags="overload" file="System.Types.pas" line="513">
      <parameters>
        <parameter name="DX" type="Single" paramflags="const"/>
        <parameter name="DY" type="Single" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Inflates the dimensions of the rectangle.
Inflate increases the rectangle's dimensions by adding specified values to Right and Bottom, and dropping specified values from Top and Left. 
DX and DY are horizontal and vertical offsets, respectively.
The values of the rectangle's properties (Right, Bottom, Top, Left) can be modified by using the DR, DB, DT, DL parameters, respectively.
</summary></devnotes></procedure>
    <procedure name="Inflate" visibility="public" procflags="overload" file="System.Types.pas" line="516">
      <parameters>
        <parameter name="DL" type="Single" paramflags="const"/>
        <parameter name="DT" type="Single" paramflags="const"/>
        <parameter name="DR" type="Single" paramflags="const"/>
        <parameter name="DB" type="Single" paramflags="const"/>
      </parameters>
    <devnotes><summary>
Inflates the dimensions of the rectangle.
Inflate increases the rectangle's dimensions by adding specified values to Right and Bottom, and dropping specified values from Top and Left. 
DX and DY are horizontal and vertical offsets, respectively.
The values of the rectangle's properties (Right, Bottom, Top, Left) can be modified by using the DR, DB, DT, DL parameters, respectively.
</summary></devnotes></procedure>
    <function name="CenterPoint" visibility="public" file="System.Types.pas" line="519">
      <parameters>
        <retval type="TPointF"/>
      </parameters>
    <devnotes><summary>
Returns the center point of the rectangle.
CenterPoint returns the center point of the rectangle. 
</summary></devnotes></function>
    <function name="Ceiling" visibility="public" file="System.Types.pas" line="521">
      <parameters>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Does superior rounding over the TRectF object.
Call Ceiling to do a superior rounding over the values of the Location, Width, and Height properties of the TRectF object.
</summary></devnotes></function>
    <function name="Truncate" visibility="public" file="System.Types.pas" line="522">
      <parameters>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Truncates the TRectF object.
Call Truncate to truncate the values of the Location, Width, and Height properties of the TRectF object.
</summary></devnotes></function>
    <function name="Round" visibility="public" file="System.Types.pas" line="523">
      <parameters>
        <retval type="TRect"/>
      </parameters>
    <devnotes><summary>
Rounds the TRectF object.
Call Round to round the values of the Location, Width, and Height properties of the TRectF object.
</summary></devnotes></function>
    <function name="EqualsTo" visibility="public" file="System.Types.pas" line="525">
      <parameters>
        <parameter name="R" type="TRectF" paramflags="const"/>
        <parameter name="Epsilon" type="Single" paramflags="const">
          <value>
            0
          </value>
        </parameter>
        <retval type="Boolean"/>
      </parameters>
    <devnotes><summary>
Embarcadero Technologies does not currently have any additional information.


</summary></devnotes></function>
    <property name="Width" visibility="public" read="GetWidth" write="SetWidth" type="Single" default="0" file="System.Types.pas" line="533"><devnotes><summary>
Width property of TRectF.
When the Width value is changed, the Right value is modified, leaving the Left unchanged.

 Note: Before modifying the Width value, you must ensure that Left is a valid floating-point value and the rectangle is normalized.</summary></devnotes></property>
    <property name="Height" visibility="public" read="GetHeight" write="SetHeight" type="Single" default="0" file="System.Types.pas" line="535"><devnotes><summary>
Height property of the TRectF.
When the Height value is changed, the Bottom value is modified, leaving the Top unchanged.

 Note: Before modifying the Height value, you must ensure that Top is a valid floating-point value and the rectangle is normalized.</summary></devnotes></property>
    <property name="Size" visibility="public" read="GetSize" write="SetSize" type="TSizeF" file="System.Types.pas" line="537"><devnotes><summary>
Keeps the floating-point TSizeF size of the rectangle.
Size keeps the Width and Height of the TRectF rectangle.
</summary></devnotes></property>
    <property name="Location" visibility="public" read="GetLocation" write="SetLocation" type="TPointF" file="System.Types.pas" line="539"><devnotes><summary>
Returns the X and Y coordinates of the upper-left corner point.
</summary></devnotes></property>
    <field name="Left" type="Single" visibility="public" variant="true" size="4" offset="0" file="System.Types.pas" line="542"><devnotes><summary>
Represents the horizontal coordinate of the upper-left corner point of the rectangle.
</summary></devnotes></field>
    <field name="Top" type="Single" visibility="public" variant="true" size="4" offset="4" file="System.Types.pas" line="542"><devnotes><summary>
Represents the vertical coordinate of the upper-left corner point of the rectangle.
</summary></devnotes></field>
    <field name="Right" type="Single" visibility="public" variant="true" size="4" offset="8" file="System.Types.pas" line="542"><devnotes><summary>
Represents the horizontal coordinate of the lower-right corner point of the rectangle.
</summary></devnotes></field>
    <field name="Bottom" type="Single" visibility="public" variant="true" size="4" offset="12" file="System.Types.pas" line="542"><devnotes><summary>
Represents the vertical coordinate of the lower-right corner point of the rectangle.
</summary></devnotes></field>
    <field name="TopLeft" type="TPointF" visibility="public" variant="true" size="8" offset="0" file="System.Types.pas" line="543"><devnotes><summary>
Returns the upper-left corner point of the rectangle.
TopLeft returns the upper-left corner point of the TRectF object.
</summary></devnotes></field>
    <field name="BottomRight" type="TPointF" visibility="public" variant="true" size="8" offset="8" file="System.Types.pas" line="543"><devnotes><summary>
Returns the lower-right corner point of the rectangle.
BottomRight returns the lower-right corner point of the TRectF object.
</summary></devnotes></field>
  <devnotes><summary>
TRectF defines a rectangle, with coordinates in floating points.
TRectF represents the location and dimensions of a rectangle. The coordinates are specified as either four separate Single coordinates representing the left, top, right, and bottom sides, or as two points representing the locations of the upper-left and lower-right corners.
Typically, TRectF values represent pixel locations, where the origin of the pixel coordinate system is in the upper-left corner of the screen (screen coordinates) or the upper-left corner of a control's client area (client coordinates). When a TRectF value represents a rectangle on the screen, by convention, the top and left edges are considered inside the rectangle and the bottom and right edges are considered outside the rectangle. This convention allows the width of the rectangle to be Right - Left and the height to be Bottom - Top.
</summary></devnotes></struct>
  <class name="TBitConverter" file="System.Types.pas" line="558">
    <devnotes>
       <summary> TBitConverter class implements converter of an array of bytes
        into Delphi native data types and backward. </summary>
    </devnotes>
    <ancestor name="TObject" namespace="System">
      <methodref name="Create" visibility="public" procflags="constructor">
      </methodref>
      <methodref name="Free" visibility="public">
      </methodref>
      <methodref name="DisposeOf" visibility="public" procflags="inline">
      </methodref>
      <methodref name="InitInstance" visibility="public" procflags="class">
      </methodref>
      <methodref name="CleanupInstance" visibility="public">
      </methodref>
      <methodref name="ClassType" visibility="public" procflags="inline">
      </methodref>
      <methodref name="ClassName" visibility="public" procflags="class">
      </methodref>
      <methodref name="ClassNameIs" visibility="public" procflags="class">
      </methodref>
      <methodref name="ClassParent" visibility="public" procflags="class inline">
      </methodref>
      <methodref name="ClassInfo" visibility="public" procflags="class inline">
      </methodref>
      <methodref name="InstanceSize" visibility="public" procflags="class inline">
      </methodref>
      <methodref name="InheritsFrom" visibility="public" procflags="class">
      </methodref>
      <methodref name="MethodAddress" visibility="public" procflags="class overload">
      </methodref>
      <methodref name="MethodAddress" visibility="public" procflags="class overload">
      </methodref>
      <methodref name="MethodName" visibility="public" procflags="class">
      </methodref>
      <methodref name="QualifiedClassName" visibility="public" procflags="class">
      </methodref>
      <methodref name="FieldAddress" visibility="public" procflags="overload">
      </methodref>
      <methodref name="FieldAddress" visibility="public" procflags="overload">
      </methodref>
      <methodref name="GetInterface" visibility="public">
      </methodref>
      <methodref name="GetInterfaceEntry" visibility="public" procflags="class">
      </methodref>
      <methodref name="GetInterfaceTable" visibility="public" procflags="class inline">
      </methodref>
      <methodref name="UnitName" visibility="public" procflags="class">
      </methodref>
      <methodref name="UnitScope" visibility="public" procflags="class">
      </methodref>
      <methodref name="Equals" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="GetHashCode" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="ToString" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="SafeCallException" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="AfterConstruction" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="BeforeDestruction" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="Dispatch" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="DefaultHandler" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="NewInstance" visibility="public" procflags="class virtual">
      </methodref>
      <methodref name="FreeInstance" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="Destroy" visibility="public" procflags="destructor virtual">
      </methodref>
      <methodref name="GetDisposed" visibility="protected" procflags="inline">
      </methodref>
      <methodref name="CheckDisposed" visibility="protected" procflags="inline">
      </methodref>
      <propertyref name="Disposed" visibility="protected">
      </propertyref>
    </ancestor>
    <members>
      <procedure name="RangeCheckError" visibility="protected" procflags="static" file="System.Types.pas" line="564">
        <devnotes>
           <summary> RangeCheckError is a helper used to raise a range check exception
            if a conversion (From or Into) accesses memory outside the bounds of the
            Byte array.
            NOTE: Only used by C++; Delphi calls System.Error(reRangeError) directly.</summary>
        </devnotes>
      </procedure>
      <procedure name="UnsafeFrom" visibility="public" procflags="static inline" file="System.Types.pas" line="569">
        <devnotes>
           <summary> UnsafeFrom method converts Value of T type into array of bytes B.
            The value will be written into B at Offset offset. The method does not check
            that value will fit into B at Offset. </summary>
        </devnotes>
        <parameters>
          <parameter name="Value" type="T" paramflags="const"/>
          <parameter name="B" type="TByteDynArray" paramflags="var"/>
          <parameter name="Offset" type="Integer">
            <value>
              $0
            </value>
          </parameter>
        </parameters>
      </procedure>
      <procedure name="From" visibility="public" procflags="static" file="System.Types.pas" line="573">
        <devnotes>
           <summary> From method converts Value of T type into array of bytes B.
            The value will be written into B at Offset offset. The method checks that
            value will fit into B at Offset. If not, then range check exception is raised. </summary>
        </devnotes>
        <parameters>
          <parameter name="Value" type="T" paramflags="const"/>
          <parameter name="B" type="TByteDynArray" paramflags="var"/>
          <parameter name="Offset" type="Integer">
            <value>
              $0
            </value>
          </parameter>
        </parameters>
      </procedure>
      <function name="UnsafeInTo" visibility="public" procflags="static inline" file="System.Types.pas" line="577">
        <devnotes>
           <summary> UnsafeInTo method converts array of bytes B into value of T type.
            The value will be read from B at Offset offset. The method does not check
            that value fits into B at Offset. </summary>
        </devnotes>
        <parameters>
          <parameter name="B" type="TByteDynArray" paramflags="const"/>
          <parameter name="Offset" type="Integer">
            <value>
              $0
            </value>
          </parameter>
          <retval type="T"/>
        </parameters>
      </function>
      <function name="InTo" visibility="public" procflags="static" file="System.Types.pas" line="581">
        <devnotes>
           <summary> InTo method converts array of bytes B into value of T type.
            The value will be read from B at Offset offset. The method checks that
            value fits into B at Offset. If not, then range check exception is raised. </summary>
        </devnotes>
        <parameters>
          <parameter name="B" type="TByteDynArray" paramflags="const"/>
          <parameter name="Offset" type="Integer">
            <value>
              $0
            </value>
          </parameter>
          <retval type="T"/>
        </parameters>
      </function>
    </members>
  </class>
  <type name="DWORD" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <const name="RT_RCDATA" type="PWideChar" file="System.Types.pas" line="587">
    <value>
      $A
    </value>
  </const>
  <const name="NullChar" type="Char" file="System.Types.pas" line="592">
    <value>
      $0
    </value>
  </const>
  <const name="Tabulator" type="Char" file="System.Types.pas" line="593">
    <value>
      $9
    </value>
  </const>
  <const name="Space" type="Char" file="System.Types.pas" line="594">
    <value>
      $20
    </value>
  </const>
  <const name="CarriageReturn" type="Char" file="System.Types.pas" line="595">
    <value>
      $D
    </value>
  </const>
  <const name="LineFeed" type="Char" file="System.Types.pas" line="596">
    <value>
      $A
    </value>
  </const>
  <const name="VerticalTab" type="Char" file="System.Types.pas" line="597">
    <value>
      $B
    </value>
  </const>
  <const name="FormFeed" type="Char" file="System.Types.pas" line="598">
    <value>
      $C
    </value>
  </const>
  <const name="LineSeparator" type="Char" file="System.Types.pas" line="599">
    <value>
      $2028
    </value>
  </const>
  <const name="ParagraphSeparator" type="Char" file="System.Types.pas" line="600">
    <value>
      $2029
    </value>
  </const>
  <const name="BOM_LSB_FIRST" type="Char" file="System.Types.pas" line="602">
    <value>
      $FEFF
    </value>
  </const>
  <const name="BOM_MSB_FIRST" type="Char" file="System.Types.pas" line="603">
    <value>
      $FFFE
    </value>
  </const>
  <const name="GUID_NULL" type="TGUID" visibility="public" file="System.Types.pas" line="605"/>
  <const name="cPI" type="Single" visibility="public" file="System.Types.pas" line="607"/>
  <const name="cPIdiv180" type="Single" visibility="public" file="System.Types.pas" line="610"/>
  <const name="c180divPI" type="Single" visibility="public" file="System.Types.pas" line="613"/>
  <const name="c2PI" type="Single" visibility="public" file="System.Types.pas" line="616"/>
  <const name="cPIdiv2" type="Single" visibility="public" file="System.Types.pas" line="619"/>
  <const name="cPIdiv4" type="Single" visibility="public" file="System.Types.pas" line="622"/>
  <const name="c3PIdiv4" type="Single" visibility="public" file="System.Types.pas" line="625"/>
  <const name="cInv2PI" type="Single" visibility="public" file="System.Types.pas" line="628"/>
  <const name="cInv360" type="Single" visibility="public" file="System.Types.pas" line="631"/>
  <const name="c180" type="Single" visibility="public" file="System.Types.pas" line="634"/>
  <const name="c360" type="Single" visibility="public" file="System.Types.pas" line="637"/>
  <const name="cOneHalf" type="Single" visibility="public" file="System.Types.pas" line="640"/>
  <const name="CurveKappa" type="Extended" file="System.Types.pas" line="644">
    <value>
      0.5523
    </value>
  </const>
  <const name="CurveKappaInv" type="Extended" file="System.Types.pas" line="647">
    <value>
      0.4477
    </value>
  </const>
  <const name="Epsilon" type="Single" visibility="public" file="System.Types.pas" line="651"/>
  <const name="Epsilon2" type="Single" visibility="public" file="System.Types.pas" line="654"/>
  <type name="TValueRelationship" type="shortint" loBound="-1" hiBound="1" file="System.Types.pas" line="1133"/>
  <const name="LessThanValue" type="Integer" file="System.Types.pas" line="1136">
    <value>
      $FFFFFFFF
    </value>
  </const>
  <const name="EqualsValue" type="Integer" file="System.Types.pas" line="1137">
    <value>
      $0
    </value>
  </const>
  <const name="GreaterThanValue" type="Integer" file="System.Types.pas" line="1138">
    <value>
      $1
    </value>
  </const>
  <const name="wrSignaled" type="TWaitResult" file="System.Types.pas" line="1141">
    <value>
      wrSignaled
    </value>
  </const>
  <const name="wrTimeout" type="TWaitResult" file="System.Types.pas" line="1141">
    <value>
      wrTimeout
    </value>
  </const>
  <const name="wrAbandoned" type="TWaitResult" file="System.Types.pas" line="1141">
    <value>
      wrAbandoned
    </value>
  </const>
  <const name="wrError" type="TWaitResult" file="System.Types.pas" line="1141">
    <value>
      wrError
    </value>
  </const>
  <const name="wrIOCompletion" type="TWaitResult" file="System.Types.pas" line="1141">
    <value>
      wrIOCompletion
    </value>
  </const>
  <enum name="TWaitResult" file="System.Types.pas" line="1141">
    <element value="0" name="wrSignaled" file="System.Types.pas" line="1141"/>
    <element value="1" name="wrTimeout" file="System.Types.pas" line="1141"/>
    <element value="2" name="wrAbandoned" file="System.Types.pas" line="1141"/>
    <element value="3" name="wrError" file="System.Types.pas" line="1141"/>
    <element value="4" name="wrIOCompletion" file="System.Types.pas" line="1141"/>
  </enum>
  <class name="TMultiWaitEvent" file="System.Types.pas" line="1150">
    <devnotes>
       <summary>
          Abstract base class fully implemented in System.Classes and returned by IAsyncResult.GetAsyncWaitEvent.
          This class allows for blocking with any number of these events using WaitForAll() and WaitForAny()
          While this class can be implemented by creating a descendant, it is expected that the implementation
          will be provided by System.Classes. Any attempt at creating an alternate implementation must adhere to
          the &quot;contracts&quot; laid out in the abstract virtual methods.
       </summary>
    </devnotes>
    <ancestor name="TObject" namespace="System">
      <methodref name="Create" visibility="public" procflags="constructor">
      </methodref>
      <methodref name="Free" visibility="public">
      </methodref>
      <methodref name="DisposeOf" visibility="public" procflags="inline">
      </methodref>
      <methodref name="InitInstance" visibility="public" procflags="class">
      </methodref>
      <methodref name="CleanupInstance" visibility="public">
      </methodref>
      <methodref name="ClassType" visibility="public" procflags="inline">
      </methodref>
      <methodref name="ClassName" visibility="public" procflags="class">
      </methodref>
      <methodref name="ClassNameIs" visibility="public" procflags="class">
      </methodref>
      <methodref name="ClassParent" visibility="public" procflags="class inline">
      </methodref>
      <methodref name="ClassInfo" visibility="public" procflags="class inline">
      </methodref>
      <methodref name="InstanceSize" visibility="public" procflags="class inline">
      </methodref>
      <methodref name="InheritsFrom" visibility="public" procflags="class">
      </methodref>
      <methodref name="MethodAddress" visibility="public" procflags="class overload">
      </methodref>
      <methodref name="MethodAddress" visibility="public" procflags="class overload">
      </methodref>
      <methodref name="MethodName" visibility="public" procflags="class">
      </methodref>
      <methodref name="QualifiedClassName" visibility="public" procflags="class">
      </methodref>
      <methodref name="FieldAddress" visibility="public" procflags="overload">
      </methodref>
      <methodref name="FieldAddress" visibility="public" procflags="overload">
      </methodref>
      <methodref name="GetInterface" visibility="public">
      </methodref>
      <methodref name="GetInterfaceEntry" visibility="public" procflags="class">
      </methodref>
      <methodref name="GetInterfaceTable" visibility="public" procflags="class inline">
      </methodref>
      <methodref name="UnitName" visibility="public" procflags="class">
      </methodref>
      <methodref name="UnitScope" visibility="public" procflags="class">
      </methodref>
      <methodref name="Equals" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="GetHashCode" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="ToString" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="SafeCallException" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="AfterConstruction" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="BeforeDestruction" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="Dispatch" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="DefaultHandler" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="NewInstance" visibility="public" procflags="class virtual">
      </methodref>
      <methodref name="FreeInstance" visibility="public" procflags="virtual">
      </methodref>
      <methodref name="Destroy" visibility="public" procflags="destructor virtual">
      </methodref>
      <methodref name="GetDisposed" visibility="protected" procflags="inline">
      </methodref>
      <methodref name="CheckDisposed" visibility="protected" procflags="inline">
      </methodref>
      <propertyref name="Disposed" visibility="protected">
      </propertyref>
    </ancestor>
    <members>
      <enum name="TWaiterFlag" visibility="protected" alias="System.Types.TWaiterFlag" file="System.Types.pas" line="1152">
        <element value="0" name="Waiting" file="System.Types.pas" line="1152"/>
        <element value="1" name="WaitAll" file="System.Types.pas" line="1152"/>
      </enum>
      <set name="TWaiterFlags" visibility="protected" alias="System.Types.TWaiterFlags" type="TMultiWaitEvent.TWaiterFlag" file="System.Types.pas" line="1153">
        <element name="Waiting"/>
        <element name="WaitAll"/>
      </set>
      <class name="TMultiWaiter" visibility="protected" alias="System.Types.TMultiWaiter" file="System.Types.pas" line="1154">
        <ancestor name="TObject" namespace="System">
          <methodref name="Create" visibility="public" procflags="constructor">
          </methodref>
          <methodref name="Free" visibility="public">
          </methodref>
          <methodref name="DisposeOf" visibility="public" procflags="inline">
          </methodref>
          <methodref name="InitInstance" visibility="public" procflags="class">
          </methodref>
          <methodref name="CleanupInstance" visibility="public">
          </methodref>
          <methodref name="ClassType" visibility="public" procflags="inline">
          </methodref>
          <methodref name="ClassName" visibility="public" procflags="class">
          </methodref>
          <methodref name="ClassNameIs" visibility="public" procflags="class">
          </methodref>
          <methodref name="ClassParent" visibility="public" procflags="class inline">
          </methodref>
          <methodref name="ClassInfo" visibility="public" procflags="class inline">
          </methodref>
          <methodref name="InstanceSize" visibility="public" procflags="class inline">
          </methodref>
          <methodref name="InheritsFrom" visibility="public" procflags="class">
          </methodref>
          <methodref name="MethodAddress" visibility="public" procflags="class overload">
          </methodref>
          <methodref name="MethodAddress" visibility="public" procflags="class overload">
          </methodref>
          <methodref name="MethodName" visibility="public" procflags="class">
          </methodref>
          <methodref name="QualifiedClassName" visibility="public" procflags="class">
          </methodref>
          <methodref name="FieldAddress" visibility="public" procflags="overload">
          </methodref>
          <methodref name="FieldAddress" visibility="public" procflags="overload">
          </methodref>
          <methodref name="GetInterface" visibility="public">
          </methodref>
          <methodref name="GetInterfaceEntry" visibility="public" procflags="class">
          </methodref>
          <methodref name="GetInterfaceTable" visibility="public" procflags="class inline">
          </methodref>
          <methodref name="UnitName" visibility="public" procflags="class">
          </methodref>
          <methodref name="UnitScope" visibility="public" procflags="class">
          </methodref>
          <methodref name="Equals" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="GetHashCode" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="ToString" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="SafeCallException" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="AfterConstruction" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="BeforeDestruction" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="Dispatch" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="DefaultHandler" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="NewInstance" visibility="public" procflags="class virtual">
          </methodref>
          <methodref name="FreeInstance" visibility="public" procflags="virtual">
          </methodref>
          <methodref name="Destroy" visibility="public" procflags="destructor virtual">
          </methodref>
          <methodref name="GetDisposed" visibility="protected" procflags="inline">
          </methodref>
          <methodref name="CheckDisposed" visibility="protected" procflags="inline">
          </methodref>
          <propertyref name="Disposed" visibility="protected">
          </propertyref>
        </ancestor>
        <members>
          <field name="FCond" type="TObject" visibility="public" size="4" offset="4" file="System.Types.pas" line="1155"/>
          <field name="FRefCount" type="Integer" visibility="public" size="4" offset="8" file="System.Types.pas" line="1156"/>
          <field name="FFlags" type="TMultiWaitEvent.TWaiterFlags" visibility="public" size="1" offset="12" file="System.Types.pas" line="1157"/>
          <field name="FStatus" type=":TMultiWaitEvent.TMultiWaiter.:1" visibility="public" size="4" offset="16" file="System.Types.pas" line="1158"/>
          <constructor name="Create" visibility="public" file="System.Types.pas" line="1164">
            <parameters>
            </parameters>
          </constructor>
          <destructor name="Destroy" visibility="public" file="System.Types.pas" line="1165">
            <parameters>
            </parameters>
          </destructor>
        </members>
      </class>
      <struct name="TWaitInfo" visibility="protected" alias="System.Types.TWaitInfo" size="8" file="System.Types.pas" line="1167">
        <field name="FWaiter" type="TMultiWaitEvent.TMultiWaiter" visibility="public" size="4" offset="0" file="System.Types.pas" line="1168"/>
        <field name="FIndex" type="Integer" visibility="public" size="4" offset="4" file="System.Types.pas" line="1169"/>
      </struct>
      <pointer name="PWaitInfo" alias="System.Types.PWaitInfo" type="TWaitInfo" indircnt="1" file="System.Types.pas" line="1171"/>
      <pointer name="PMultiWaitEvent" alias="System.Types.PMultiWaitEvent" type="TMultiWaitEvent" indircnt="1" file="System.Types.pas" line="1172"/>
      <classref name="TMultiWaitEventClass" alias="System.Types.TMultiWaitEventClass" ref="TMultiWaitEvent" file="System.Types.pas" line="1173"/>
      <procedure name="FreeAndNil" visibility="private" procflags="static inline" file="System.Types.pas" line="1175">
        <parameters>
          <parameter name="Obj" paramflags="var"/>
        </parameters>
      </procedure>
      <function name="DoWait" visibility="private" procflags="static" file="System.Types.pas" line="1176">
        <parameters>
          <parameter name="Events" paramflags="const">
            <array name="Events" file="System.Types.pas" line="3223">
              <element type="TMultiWaitEvent"/>
            </array>
          </parameter>
          <parameter name="WaitAll" type="Boolean"/>
          <parameter name="Index" type="PInteger"/>
          <parameter name="Event" type="TMultiWaitEvent.PMultiWaitEvent"/>
          <parameter name="Timeout" type="Cardinal"/>
          <retval type="TWaitResult"/>
        </parameters>
      </function>
      <function name="WaiterExpired" visibility="private" file="System.Types.pas" line="1177">
        <parameters>
          <parameter name="Info" type="TMultiWaitEvent.TWaitInfo" paramflags="var"/>
          <retval type="Boolean"/>
        </parameters>
      </function>
      <procedure name="RemoveExpiredWaiters" visibility="private" file="System.Types.pas" line="1178">
      </procedure>
      <field name="FMultiEventType" type="TMultiWaitEvent.TMultiWaitEventClass" visibility="protected" varflags="class" file="System.Types.pas" line="1186">
        <devnotes>
            <summary>
              This class variable will be set by a single descendent. The expectation is that one and only one descedent
              of this class exists. That one descendent provides the actual implementation. This class variable is
              used by the static class function Create to construct an instance of that one class that implements the
              needed functionality.
            </summary>
        </devnotes>
      </field>
      <function name="CreateInstance" visibility="protected" procflags="class abstract virtual" file="System.Types.pas" line="1191">
        <devnotes>
            <summary>
              Abstract virtual class overridden in descendant classes to create the proper type for the instance.
            </summary>
        </devnotes>
        <parameters>
          <retval type="TMultiWaitEvent">
            <devnotes>
               <summary>
                  Abstract base class fully implemented in System.Classes and returned by IAsyncResult.GetAsyncWaitEvent.
                  This class allows for blocking with any number of these events using WaitForAll() and WaitForAny()
                  While this class can be implemented by creating a descendant, it is expected that the implementation
                  will be provided by System.Classes. Any attempt at creating an alternate implementation must adhere to
                  the &quot;contracts&quot; laid out in the abstract virtual methods.
               </summary>
            </devnotes>
          </retval>
        </parameters>
      </function>
      <procedure name="ArgumentException" visibility="protected" procflags="class abstract virtual" file="System.Types.pas" line="1196">
        <devnotes>
            <summary>
              Since This unit doesn't cannot use System.SysUtls, this virtual allows descendants which do have access to
              System.SysUtils to provide a means for this base ancestor class to raise exceptions when validating arguments.
            </summary>
        </devnotes>
      </procedure>
      <function name="GetTickCount64" visibility="protected" procflags="class abstract virtual" file="System.Types.pas" line="1201">
        <devnotes>
            <summary>
              Since This unit doesn't cannot use System.Classes, this virtual allows descendants which do have access to
              System.Classes to provide a means for this base ancestor to call System.Classes.TThread.GetTickCount64.
            </summary>
        </devnotes>
        <parameters>
          <retval type="UInt64"/>
        </parameters>
      </function>
      <procedure name="Lock" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1205">
        <devnotes>
            <summary>
              Overridden in descendents. This explicitly locks this specific instance.
            </summary>
        </devnotes>
      </procedure>
      <procedure name="Unlock" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1209">
        <devnotes>
            <summary>
              Overridden in descendents. This explicitly unlocks this specific instance.
            </summary>
        </devnotes>
      </procedure>
      <procedure name="AtomicSetEventState" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1213">
        <devnotes>
            <summary>
              Overridden in descendents. This must <strong>atomically</strong> set the state of the event.
            </summary>
        </devnotes>
        <parameters>
          <parameter name="State" type="Boolean"/>
        </parameters>
      </procedure>
      <procedure name="NotifyWaiters" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1217">
        <devnotes>
            <summary>
              Overridden in descendents. Notifies all current waiters this event is signaled.
            </summary>
        </devnotes>
      </procedure>
      <procedure name="ClearWaiters" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1221">
        <devnotes>
            <summary>
              Overridden in descendents. Clears the storage used for the waiters.
            </summary>
        </devnotes>
      </procedure>
      <procedure name="PushWaiter" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1225">
        <devnotes>
            <summary>
              Overridden in descendents. Add a new waiter to the list of waiters.
            </summary>
        </devnotes>
        <parameters>
          <parameter name="Waiter" type="TMultiWaitEvent.TWaitInfo" paramflags="const"/>
        </parameters>
      </procedure>
      <procedure name="RemoveWaiter" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1229">
        <devnotes>
            <summary>
              Overridden in descendents. Removed a waiter from the list of waiters.
            </summary>
        </devnotes>
        <parameters>
          <parameter name="Index" type="Integer"/>
        </parameters>
      </procedure>
      <function name="GetWaiterCount" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1233">
        <devnotes>
            <summary>
              Overridden in descendents. Returns the current number of waiters in the list of waiters.
            </summary>
        </devnotes>
        <parameters>
          <retval type="Integer"/>
        </parameters>
      </function>
      <function name="GetWaiter" visibility="protected" procflags="abstract virtual" file="System.Types.pas" line="1237">
        <devnotes>
            <summary>
              Overridden in descendents. Returns the index'th waiter from the waiter list.
            </summary>
        </devnotes>
        <parameters>
          <parameter name="Index" type="Integer"/>
          <retval type="TMultiWaitEvent.PWaitInfo"/>
        </parameters>
      </function>
      <property name="WaiterCount" visibility="protected" read="GetWaiterCount" type="Integer" file="System.Types.pas" line="1241">
        <devnotes>
           <summary>
              Current number of threads waiting on this event.
           </summary>
        </devnotes>
      </property>
      <property name="Waiters[Index]" visibility="protected" read="GetWaiter" type="TMultiWaitEvent.PWaitInfo" file="System.Types.pas" line="1245">
        <devnotes>
           <summary>
              Array of PWaitInfo references which contain information about each waiting thread.
           </summary>
        </devnotes>
      </property>
      <function name="Create" visibility="public" procflags="static" file="System.Types.pas" line="1251">
        <devnotes>
            <summary>
              Rather than use a constructor which will create an instance of <strong>this</strong> class, this will
              return an instance of the registered descendent type that provides the actual implementation.
            </summary>
        </devnotes>
        <parameters>
          <retval type="TMultiWaitEvent">
            <devnotes>
               <summary>
                  Abstract base class fully implemented in System.Classes and returned by IAsyncResult.GetAsyncWaitEvent.
                  This class allows for blocking with any number of these events using WaitForAll() and WaitForAny()
                  While this class can be implemented by creating a descendant, it is expected that the implementation
                  will be provided by System.Classes. Any attempt at creating an alternate implementation must adhere to
                  the &quot;contracts&quot; laid out in the abstract virtual methods.
               </summary>
            </devnotes>
          </retval>
        </parameters>
      </function>
      <destructor name="Destroy" visibility="public" file="System.Types.pas" line="1252">
        <parameters>
        </parameters>
      </destructor>
      <function name="WaitFor" visibility="public" procflags="abstract virtual" file="System.Types.pas" line="1255">
        <devnotes>
           <summary>Wait for this event instance to be signaled or Timeout is reached.</summary>
        </devnotes>
        <parameters>
          <parameter name="Timeout" type="Cardinal">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="TWaitResult"/>
        </parameters>
      </function>
      <procedure name="SetEvent" visibility="public" file="System.Types.pas" line="1259">
        <devnotes>
           <summary>Explicitly set the event as signaled. This procedure is typically called by the implementation of
              a specific IAsyncResult.
           </summary>
        </devnotes>
      </procedure>
      <procedure name="ResetEvent" visibility="public" file="System.Types.pas" line="1263">
        <devnotes>
           <summary>Explicitly reset the event as unsignaled. This procedure is rarely if ever called. If it is called, it
              is called by the implementation of a specific IAsyncResult.
           </summary>
        </devnotes>
      </procedure>
      <function name="WaitForAll" visibility="public" procflags="static" file="System.Types.pas" line="1266">
        <devnotes>
           <summary>Wait until all of the indicated TMultiWaitEvents are signaled or Timeout is reached</summary>
        </devnotes>
        <parameters>
          <parameter name="Events" paramflags="const">
            <array name="Events" file="System.Types.pas" line="3419">
              <element type="TMultiWaitEvent"/>
            </array>
          </parameter>
          <parameter name="Timeout" type="Cardinal">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="TWaitResult"/>
        </parameters>
      </function>
      <function name="WaitForAny" visibility="public" procflags="static overload" file="System.Types.pas" line="1268">
        <devnotes>
           <summary>Wait until at least one of the indicated TMultiWaitEvents are signaled or Timeout is reached</summary>
        </devnotes>
        <parameters>
          <parameter name="Events" paramflags="const">
            <array name="Events" file="System.Types.pas" line="3424">
              <element type="TMultiWaitEvent"/>
            </array>
          </parameter>
          <parameter name="Timeout" type="Cardinal">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="TWaitResult"/>
        </parameters>
      </function>
      <function name="WaitForAny" visibility="public" procflags="static overload" file="System.Types.pas" line="1274">
        <devnotes>
           <summary>Wait until at least one of the indicated TMultiWaitEvents are signaled or Timeout is reached.
             Index out parameter is set to the index of the TMultiWaitEvent in the provided array which was signaled.
             More than one event may be signaled; Index only indicates which one caused the function to return. Index is undefined if
             Timeout was reached.
           </summary>
        </devnotes>
        <parameters>
          <parameter name="Events" paramflags="const">
            <array name="Events" file="System.Types.pas" line="3434">
              <element type="TMultiWaitEvent"/>
            </array>
          </parameter>
          <parameter name="Index" type="Integer" paramflags="out"/>
          <parameter name="Timeout" type="Cardinal">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="TWaitResult"/>
        </parameters>
      </function>
      <function name="WaitForAny" visibility="public" procflags="static overload" file="System.Types.pas" line="1279">
        <devnotes>
           <summary>Wait until at least one of the indicated TMultiWaitEvents are signaled or Timeout is reached.
              Returns the TMultiWaitEvent instance which was signaled and caused the function to return. Event is
              undefined if Timeout is reached.
           </summary>
        </devnotes>
        <parameters>
          <parameter name="Events" paramflags="const">
            <array name="Events" file="System.Types.pas" line="3429">
              <element type="TMultiWaitEvent"/>
            </array>
          </parameter>
          <parameter name="Event" type="TMultiWaitEvent" paramflags="out"/>
          <parameter name="Timeout" type="Cardinal">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="TWaitResult"/>
        </parameters>
      </function>
    </members>
  </class>
  <interface name="IAsyncResult" ancestor="IInterface" file="System.Types.pas" line="1285">
    <devnotes>
       <summary>
          Interface returned from various &quot;BeginXXX&quot; methods in order to provide asynchronous execution of code.
       </summary>
    </devnotes>
    <function name="GetAsyncContext" visibility="public" procflags="abstract virtual" file="System.Types.pas" line="1289">
      <devnotes>
          <summary>
            Returns the user-specified context associated with this instance.
          </summary>
      </devnotes>
      <parameters>
        <retval type="TObject"/>
      </parameters>
    </function>
    <function name="GetAsyncWaitEvent" visibility="public" procflags="abstract virtual" file="System.Types.pas" line="1295">
      <devnotes>
          <summary>
            Returns an event suitable for use to block until the asynchronous call is complete. This event is also suitable for
            use in a list to allow waiting for all or any to be signaled. See the TMultiWaitEvent.WaitForXXX class
            functions.
          </summary>
      </devnotes>
      <parameters>
        <retval type="TMultiWaitEvent">
          <devnotes>
             <summary>
                Abstract base class fully implemented in System.Classes and returned by IAsyncResult.GetAsyncWaitEvent.
                This class allows for blocking with any number of these events using WaitForAll() and WaitForAny()
                While this class can be implemented by creating a descendant, it is expected that the implementation
                will be provided by System.Classes. Any attempt at creating an alternate implementation must adhere to
                the &quot;contracts&quot; laid out in the abstract virtual methods.
             </summary>
          </devnotes>
        </retval>
      </parameters>
    </function>
    <function name="GetCompletedSynchronously" visibility="public" procflags="abstract virtual" file="System.Types.pas" line="1300">
      <devnotes>
          <summary>
            Returns true if a given asynchronous call was able to be completed synchronously. In other words, the specific
            call completed before returning.
          </summary>
      </devnotes>
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="GetIsCompleted" visibility="public" procflags="abstract virtual" file="System.Types.pas" line="1304">
      <devnotes>
          <summary>
            Returns True when the asynchronous call is finished.
          </summary>
      </devnotes>
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="GetIsCancelled" visibility="public" procflags="abstract virtual" file="System.Types.pas" line="1308">
      <devnotes>
          <summary>
            Returns True when the asynchronous call has been cancelled.
          </summary>
      </devnotes>
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Cancel" visibility="public" procflags="abstract virtual" file="System.Types.pas" line="1312">
      <devnotes>
          <summary>
            Cancels the async operation. Returns True when the asynchronous call can be cancelled.
          </summary>
      </devnotes>
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <property name="AsyncContext" visibility="public" read="GetAsyncContext" type="TObject" file="System.Types.pas" line="1317">
      <devnotes>
          <summary>
            The user-specified context associated with this instance.
          </summary>
      </devnotes>
    </property>
    <property name="AsyncWaitEvent" visibility="public" read="GetAsyncWaitEvent" type="TMultiWaitEvent" file="System.Types.pas" line="1323">
      <devnotes>
          <summary>
            Event suitable for use to block until the asynchronous call is complete. This event is also suitable for
            use in a list to allow waiting for all or any to be signaled. See the TMultiWaitEvent.WaitForXXX class
            functions.
          </summary>
      </devnotes>
    </property>
    <property name="CompletedSynchronously" visibility="public" read="GetCompletedSynchronously" type="Boolean" file="System.Types.pas" line="1328">
      <devnotes>
          <summary>
            Set to true if a given asynchronous call was able to be completed synchronously. In other words, the specific
            call completed before returning.
          </summary>
      </devnotes>
    </property>
    <property name="IsCompleted" visibility="public" read="GetIsCompleted" type="Boolean" file="System.Types.pas" line="1332">
      <devnotes>
          <summary>
            Set to True when the asynchronous call is finished.
          </summary>
      </devnotes>
    </property>
    <property name="IsCancelled" visibility="public" read="GetIsCancelled" type="Boolean" file="System.Types.pas" line="1336">
      <devnotes>
          <summary>
            Set to True when the asynchronous call has been cancelled.
          </summary>
      </devnotes>
    </property>
  </interface>
  <function name="PtInRect" visibility="public" procflags="overload" file="System.Types.pas" line="1670">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="const"/>
      <parameter name="P" type="TPoint" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="RectWidth" visibility="public" procflags="overload inline" file="System.Types.pas" line="1821">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="const"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="RectHeight" visibility="public" procflags="overload inline" file="System.Types.pas" line="1826">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="const"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="RectWidth" visibility="public" procflags="overload inline" file="System.Types.pas" line="1831">
    <parameters>
      <parameter name="Rect" type="TRectF" paramflags="const"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="RectHeight" visibility="public" procflags="overload inline" file="System.Types.pas" line="1836">
    <parameters>
      <parameter name="Rect" type="TRectF" paramflags="const"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="SplitRect" visibility="public" procflags="overload" file="System.Types.pas" line="1841">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="const"/>
      <parameter name="SplitType" type="TSplitRectType"/>
      <parameter name="Size" type="Integer"/>
      <retval type="TRect"/>
    </parameters>
  </function>
  <function name="SplitRect" visibility="public" procflags="overload" file="System.Types.pas" line="1856">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="const"/>
      <parameter name="SplitType" type="TSplitRectType"/>
      <parameter name="Percent" type="Double"/>
      <retval type="TRect"/>
    </parameters>
  </function>
  <function name="CenteredRect" visibility="public" file="System.Types.pas" line="1871">
    <parameters>
      <parameter name="SourceRect" type="TRect" paramflags="const"/>
      <parameter name="CenteredRect" type="TRect" paramflags="const"/>
      <retval type="TRect"/>
    </parameters>
  </function>
  <function name="MinPoint" visibility="public" procflags="overload" file="System.Types.pas" line="1883">
    <parameters>
      <parameter name="P1" type="TPointF" paramflags="const"/>
      <parameter name="P2" type="TPointF" paramflags="const"/>
      <retval type="TPointF"/>
    </parameters>
  </function>
  <function name="MinPoint" visibility="public" procflags="overload" file="System.Types.pas" line="1890">
    <parameters>
      <parameter name="P1" type="TPoint" paramflags="const"/>
      <parameter name="P2" type="TPoint" paramflags="const"/>
      <retval type="TPoint"/>
    </parameters>
  </function>
  <procedure name="MultiplyRect" visibility="public" file="System.Types.pas" line="1897">
    <parameters>
      <parameter name="R" type="TRectF" paramflags="var"/>
      <parameter name="DX" type="Single" paramflags="const"/>
      <parameter name="DY" type="Single" paramflags="const"/>
    </parameters>
  </procedure>
  <function name="NormalizeRectF" visibility="public" procflags="overload" file="System.Types.pas" line="1905">
    <parameters>
      <parameter name="Pts" paramflags="const">
        <array name="Pts" file="System.Types.pas" line="1905">
          <element type="TPointF"/>
        </array>
      </parameter>
      <retval type="TRectF"/>
    </parameters>
  </function>
  <function name="NormalizeRect" visibility="public" procflags="overload" file="System.Types.pas" line="1926">
    <parameters>
      <parameter name="ARect" type="TRectF" paramflags="const"/>
      <retval type="TRectF"/>
    </parameters>
  </function>
  <function name="ScalePoint" visibility="public" procflags="overload" file="System.Types.pas" line="1932">
    <parameters>
      <parameter name="P" type="TPointF" paramflags="const"/>
      <parameter name="dX" type="Single"/>
      <parameter name="dY" type="Single"/>
      <retval type="TPointF"/>
    </parameters>
  </function>
  <function name="ScalePoint" visibility="public" procflags="overload" file="System.Types.pas" line="1940">
    <parameters>
      <parameter name="P" type="TPoint" paramflags="const"/>
      <parameter name="dX" type="Single"/>
      <parameter name="dY" type="Single"/>
      <retval type="TPoint"/>
    </parameters>
  </function>
  <function name="EqualRect" visibility="public" procflags="overload" file="System.Types.pas" line="1946">
    <parameters>
      <parameter name="R1" type="TRect" paramflags="const"/>
      <parameter name="R2" type="TRect" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="EqualRect" visibility="public" procflags="overload" file="System.Types.pas" line="1952">
    <parameters>
      <parameter name="R1" type="TRectF" paramflags="const"/>
      <parameter name="R2" type="TRectF" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="Rect" visibility="public" file="System.Types.pas" line="1958">
    <parameters>
      <parameter name="Left" type="Integer"/>
      <parameter name="Top" type="Integer"/>
      <parameter name="Right" type="Integer"/>
      <parameter name="Bottom" type="Integer"/>
      <retval type="TRect"/>
    </parameters>
  </function>
  <function name="RectF" visibility="public" procflags="overload inline" file="System.Types.pas" line="1966">
    <parameters>
      <parameter name="Left" type="Single"/>
      <parameter name="Top" type="Single"/>
      <parameter name="Right" type="Single"/>
      <parameter name="Bottom" type="Single"/>
      <retval type="TRectF"/>
    </parameters>
  </function>
  <function name="RectCenter" visibility="public" procflags="overload" file="System.Types.pas" line="1974">
    <parameters>
      <parameter name="R" type="TRect" paramflags="var"/>
      <parameter name="Bounds" type="TRect" paramflags="const"/>
      <retval type="TRect"/>
    </parameters>
  </function>
  <function name="RectCenter" visibility="public" procflags="overload" file="System.Types.pas" line="1982">
    <parameters>
      <parameter name="R" type="TRectF" paramflags="var"/>
      <parameter name="Bounds" type="TRectF" paramflags="const"/>
      <retval type="TRectF"/>
    </parameters>
  </function>
  <function name="Point" visibility="public" procflags="overload inline" file="System.Types.pas" line="1990">
    <parameters>
      <parameter name="X" type="Integer"/>
      <parameter name="Y" type="Integer"/>
      <retval type="TPoint"/>
    </parameters>
  </function>
  <function name="PointF" visibility="public" procflags="overload inline" file="System.Types.pas" line="1996">
    <parameters>
      <parameter name="X" type="Single"/>
      <parameter name="Y" type="Single"/>
      <retval type="TPointF"/>
    </parameters>
  </function>
  <function name="SmallPoint" visibility="public" procflags="overload inline" file="System.Types.pas" line="2002">
    <parameters>
      <parameter name="X" type="Integer"/>
      <parameter name="Y" type="Integer"/>
      <retval type="TSmallPoint"/>
    </parameters>
  </function>
  <function name="SmallPoint" visibility="public" procflags="overload" file="System.Types.pas" line="2008">
    <parameters>
      <parameter name="XY" type="Cardinal"/>
      <retval type="TSmallPoint"/>
    </parameters>
  </function>
  <function name="PtInCircle" visibility="public" procflags="overload" file="System.Types.pas" line="2014" symflags="deprecated">
    <parameters>
      <parameter name="Point" type="TPoint" paramflags="const"/>
      <parameter name="Center" type="TPoint" paramflags="const"/>
      <parameter name="Radius" type="Integer"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="IntersectRect" visibility="public" procflags="overload" file="System.Types.pas" line="2027">
    <parameters>
      <parameter name="Rect1" type="TRect" paramflags="const"/>
      <parameter name="Rect2" type="TRect" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="IntersectRect" visibility="public" procflags="overload" file="System.Types.pas" line="2035">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="out"/>
      <parameter name="R1" type="TRect" paramflags="const"/>
      <parameter name="R2" type="TRect" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="IntersectRect" visibility="public" procflags="overload" file="System.Types.pas" line="2049">
    <parameters>
      <parameter name="Rect1" type="TRectF" paramflags="const"/>
      <parameter name="Rect2" type="TRectF" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="IntersectRect" visibility="public" procflags="overload" file="System.Types.pas" line="2057">
    <parameters>
      <parameter name="Rect" type="TRectF" paramflags="out"/>
      <parameter name="R1" type="TRectF" paramflags="const"/>
      <parameter name="R2" type="TRectF" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="UnionRect" visibility="public" procflags="overload" file="System.Types.pas" line="2071">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="out"/>
      <parameter name="R1" type="TRect" paramflags="const"/>
      <parameter name="R2" type="TRect" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="UnionRect" visibility="public" procflags="overload" file="System.Types.pas" line="2088">
    <parameters>
      <parameter name="Rect" type="TRectF" paramflags="out"/>
      <parameter name="R1" type="TRectF" paramflags="const"/>
      <parameter name="R2" type="TRectF" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="UnionRect" visibility="public" procflags="overload inline" file="System.Types.pas" line="2105">
    <parameters>
      <parameter name="ARect1" type="TRect" paramflags="const"/>
      <parameter name="ARect2" type="TRect" paramflags="const"/>
      <retval type="TRect"/>
    </parameters>
  </function>
  <function name="UnionRect" visibility="public" procflags="overload inline" file="System.Types.pas" line="2110">
    <parameters>
      <parameter name="ARect1" type="TRectF" paramflags="const"/>
      <parameter name="ARect2" type="TRectF" paramflags="const"/>
      <retval type="TRectF"/>
    </parameters>
  </function>
  <procedure name="InflateRect" visibility="public" procflags="overload" file="System.Types.pas" line="2115">
    <parameters>
      <parameter name="R" type="TRectF" paramflags="var"/>
      <parameter name="DX" type="Single" paramflags="const"/>
      <parameter name="DY" type="Single" paramflags="const"/>
    </parameters>
  </procedure>
  <procedure name="InflateRect" visibility="public" procflags="overload" file="System.Types.pas" line="2125">
    <parameters>
      <parameter name="R" type="TRect" paramflags="var"/>
      <parameter name="DX" type="Integer" paramflags="const"/>
      <parameter name="DY" type="Integer" paramflags="const"/>
    </parameters>
  </procedure>
  <function name="IsRectEmpty" visibility="public" procflags="overload" file="System.Types.pas" line="2133">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="IsRectEmpty" visibility="public" procflags="overload" file="System.Types.pas" line="2138">
    <parameters>
      <parameter name="Rect" type="TRectF" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="OffsetRect" visibility="public" procflags="overload" file="System.Types.pas" line="2143">
    <parameters>
      <parameter name="R" type="TRect" paramflags="var"/>
      <parameter name="DX" type="Integer"/>
      <parameter name="DY" type="Integer"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="OffsetRect" visibility="public" procflags="overload" file="System.Types.pas" line="2157">
    <parameters>
      <parameter name="R" type="TRectF" paramflags="var"/>
      <parameter name="DX" type="Single"/>
      <parameter name="DY" type="Single"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="Bounds" visibility="public" file="System.Types.pas" line="2173">
    <parameters>
      <parameter name="ALeft" type="Integer"/>
      <parameter name="ATop" type="Integer"/>
      <parameter name="AWidth" type="Integer"/>
      <parameter name="AHeight" type="Integer"/>
      <retval type="TRect"/>
    </parameters>
  </function>
  <function name="CenterPoint" visibility="public" file="System.Types.pas" line="2181">
    <parameters>
      <parameter name="Rect" type="TRect" paramflags="const"/>
      <retval type="TPoint"/>
    </parameters>
  </function>
  <function name="IntersectRectF" visibility="public" file="System.Types.pas" line="2187">
    <parameters>
      <parameter name="Rect" type="TRectF" paramflags="out"/>
      <parameter name="R1" type="TRectF" paramflags="const"/>
      <parameter name="R2" type="TRectF" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="UnionRectF" visibility="public" file="System.Types.pas" line="2207">
    <parameters>
      <parameter name="Rect" type="TRectF" paramflags="out"/>
      <parameter name="R1" type="TRectF" paramflags="const"/>
      <parameter name="R2" type="TRectF" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="PtInRect" visibility="public" procflags="overload" file="System.Types.pas" line="2713">
    <parameters>
      <parameter name="Rect" type="TRectF" paramflags="const"/>
      <parameter name="P" type="TPointF" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
</namespace>