<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
  <package name="LCL">
    <!--
    ====================================================================
      RubberBand
    ====================================================================
    -->
    <module name="RubberBand">
      <short>
        Implements <var>TRubberBand</var> used to draw a  "rubber-band" selection.
        </short>
      <descr>
        <file>RubberBand.pas</file> contains types and classes needed to implement a rubber-band selection control in the Lazarus Component Library (LCL).
      </descr>

      <!-- unresolved type reference Visibility: default -->
      <element name="Classes"/>
      <element name="Controls"/>

      <element name="TRubberBandShape">
        <short>Defines the shape drawn for a rubber-band selection.</short>
        <descr>
          <p>
            <var>TRubberBandShape</var> is an enumerated type with values that define the shape for the rubber-band selection drawn in <var>TCustomRubberBand</var> and descendent classes. TRubberBandShape is the type used to implement the <var>Shape</var> property in TCustomRubberBand.
          </p>
          <p>
            TRubberBandShape corresponds to the shape values expected in the QT widgetset.
          </p>
        </descr>
        <seealso>
          <link id="TCustomRubberBand.Shape"/>
        </seealso>
      </element>
      <element name="TRubberBandShape.rbsLine">
        <short>
          Rubber-band selection is drawn as a line; can represent either a horizontal or a vertical line.
        </short>
      </element>
      <element name="TRubberBandShape.rbsRectangle">
        <short>
          Rubber-band selection is drawn as a rectangle; may be a filled semi-transparent rectangle or a dotted outline depending on the style.
        </short>
      </element>

      <element name="TCustomRubberBand">
        <short>
          Base class which implements a rubber-band selection.
        </short>
        <descr>
          <p>
            <var>TCustomRubberBand</var> is a <var>TWinControl</var> descendant which implements a control used to draw rubber-band selections in the Lazarus Component Library (LCL). TCustomRubberBand is used to provide support for selection shape maps used in widgetset classes, especially widgetset design-time classes.
          </p>
          <p>
            Set the value in the <var>Shape</var> property to control the appearance for the rubber-band selection drawn for the target platform.
          </p>
        </descr>
        <seealso>
        </seealso>
      </element>

      <element name="TCustomRubberBand.FShape"/>

      <element name="TCustomRubberBand.GetShape">
        <short>Gets the value for the Shape property.</short>
        <descr/>
        <seealso>
          <link id="TCustomRubberBand.Shape"/>
        </seealso>
      </element>
      <element name="TCustomRubberBand.GetShape.Result">
        <short>Value for the property.</short>
      </element>

      <element name="TCustomRubberBand.SetShape">
        <short>Sets the value for the Shape property.</short>
        <descr/>
        <seealso>
          <link id="TCustomRubberBand.Shape"/>
        </seealso>
      </element>
      <element name="TCustomRubberBand.SetShape.AValue">
        <short>New value for the property.</short>
      </element>

      <element name="TCustomRubberBand.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>

      <element name="TCustomRubberBand.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance, and calls the inherited constructor on entry to the method. Create sets the default value for the <var>Shape</var> property to <var>rsLine</var>.
          </p>
        </descr>
        <seealso>
          <link id="TCustomRubberBand.Shape"/>
          <link id="TRubberBandShape"/>
        </seealso>
      </element>
      <element name="TCustomRubberBand.Create.AOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TCustomRubberBand.Shape">
        <short>
          The <var>Shape</var> of the rubber band device: a line or a rectangle around the selection.
        </short>
        <descr>
          <p>
            <var>Shape</var> is a <var>TRubberBandShape</var> property which contains the shape drawn for the rubber-band selection. The default value for the property is <var>rbsLine</var>.
          </p>
          <p>
            Values in the Shape property correspond to the shape values used in the QT widgetset. See <link id="TRubberBandShape">TRubberBandShape</link> for more information about the enumeration values and their meanings.
          </p>
        </descr>
        <seealso>
          <link id="TRubberBandShape"/>
        </seealso>
      </element>

      <element name="TRubberBand">
        <short>
          Implements a rubber-band selection.
        </short>
        <descr>
          <p>
            <var>TRubberBand</var> is a <var>TCustomRubberBand</var> descendant which which implements a control used to draw rubber-band selections in the Lazarus Component Library (LCL). TRubberBand is used to provide support for selection shape maps used in widgetset classes, especially widgetset design-time classes.
          </p>
          <p>
            Set the value in the <var>Shape</var> property to control the appearance for the rubber-band selection drawn for the target platform.
          </p>
        </descr>
        <seealso>
          <link id="TCustomRubberBand"/>
        </seealso>
      </element>

    </module>
    <!-- RubberBand -->
  </package>
</fpdoc-descriptions>
