<?xml version="1.0" encoding="UTF-8"?>
<!--

Documentation for LCL (Lazarus Component Library) and LazUtils (Lazarus 
Utilities) are published under the Creative Commons Attribution-ShareAlike 4.0 
International public license.

https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt
https://gitlab.com/freepascal.org/lazarus/lazarus/-/blob/main/docs/cc-by-sa-4-0.txt

Copyright (c) 1997-2025, by the Lazarus Development Team.

-->
<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>
