1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
|
<?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">
<!--
====================================================================
Arrow
====================================================================
-->
<module name="Arrow">
<short>Defines an Arrow symbol widely used in forms.</short>
<descr>
<p>
<file>arrow.pp</file> implements a control used to draw an arrow. Its size,
direction, color and shadow can be adjusted. It is part of the Lazarus
Component Library (<b>LCL</b>).
</p>
<p>
The following components are added to the Lazarus IDE component palette:
</p>
<p>
<b>Misc</b> Tab
</p>
<ul>
<li>TArrow</li>
</ul>
</descr>
<!-- unresolved references -->
<element name="Classes"/>
<element name="Types"/>
<element name="Math"/>
<element name="Controls"/>
<element name="Graphics"/>
<element name="IndustrialBase"/>
<!-- enumeration type Visibility: default -->
<element name="TArrowType">
<short>Represents the direction the arrow is oriented in TArrow.</short>
<descr/>
<seealso>
<link id="TArrow.ArrowType"/>
</seealso>
</element>
<!-- enumeration value Visibility: default -->
<element name="TArrowType.atUp">
<short>The arrow points in the upward direction.</short>
</element>
<!-- enumeration value Visibility: default -->
<element name="TArrowType.atDown">
<short>The arrow points in the downward direction.</short>
</element>
<!-- enumeration value Visibility: default -->
<element name="TArrowType.atLeft">
<short>The arrow points to the left.</short>
</element>
<!-- enumeration value Visibility: default -->
<element name="TArrowType.atRight">
<short>Th arrow points to the right.</short>
</element>
<!-- enumeration type Visibility: default -->
<element name="TShadowType">
<short>Represent shadow drawing styles used in TArrow.</short>
<descr/>
<seealso>
<link id="TArrow.ShadowType"/>
</seealso>
</element>
<!-- enumeration value Visibility: default -->
<element name="TShadowType.stNone">
<short>A shadow is not drawn.</short>
</element>
<!-- enumeration value Visibility: default -->
<element name="TShadowType.stIn">
<short>A shadow is drawn with an inset style.</short>
</element>
<!-- enumeration value Visibility: default -->
<element name="TShadowType.stOut">
<short>A shadow is drawn with an outset style.</short>
</element>
<!-- enumeration value Visibility: default -->
<element name="TShadowType.stEtchedIn">
<short>A shadow is drawn with an inset style and an etched border.</short>
</element>
<!-- enumeration value Visibility: default -->
<element name="TShadowType.stEtchedOut">
<short>A shadow is drawn with an outset style and an etched border.</short>
</element>
<element name="TShadowType.stFilled">
<short>A shadow is drawn with a filled style.</short>
</element>
<!-- object Visibility: default -->
<element name="TArrow">
<short><var>TArrow</var> - an arrow symbol widely used in forms.</short>
<descr/>
<errors/>
<seealso/>
</element>
<element name="TArrow.GetControlClassDefaultSize" link="#lcl.controls.TControl.GetControlClassDefaultSize"/>
<element name="TArrow.Paint">
<short>
Implements the paint handler used to draw the control.
</short>
<descr>
<p>
<var>Paint</var> is an overridden method in <var>TArrow</var>. It extends the
inherited to method to perform actions needed to draw the shape and an
optional shadow.
</p>
<p>
Paint calculates the internal TPoint instances needed for the triangular
shape using the values in ArrowType and ArrowPointerAngle. It configures the
control Canvas with the values in Color, ArrowColor, ShadowColor, and
AntiAliasingMode.
</p>
<p>
Methods in Canvas are called to render the shape. FillRect is called to draw
the background for the control Polygon is called to draw both the shadow and
the arrow on the control. The MoveTo and LineTo methods are used to draw the
lines needed for an unfilled shadow.
</p>
<p>
Use Color to set the background color for the client area in the shape.
</p>
<p>
Use ArrowColor to set the color for the Pen and Brush used to draw the arrow
shape.
</p>
<p>
Use ShadowType and ShadowColor to draw a shadow for the shape with the
desired color and drawing style.
</p>
<p>
Paint calls the inherited method prior to exit to signal the OnPaint event
handler (when assigned).
</p>
<p>
Paint is called when the WM_PAINT window message is handled for the control.
</p>
</descr>
<seealso>
<link id="TArrow.ShadowType"/>
<link id="TArrow.ShadowColor"/>
<link id="TArrow.ArrowType"/>
<link id="TArrow.ArrowColor"/>
<link id="TArrow.ArrowPointerAngle"/>
<link id="#lcl.industrialbase.TIndustrialBase.AntiAliasingMode">TIndustrialBase.AntiAliasingMode</link>
<link id="#lcl.controls.TGraphicControl.Canvas">TGraphicControl.Canvas</link>
<link id="#lcl.controls.TGraphicControl.Paint">TGraphicControl.Paint</link>
<link id="#lcl.controls.TGraphicControl.OnPaint">TGraphicControl.OnPaint</link>
</seealso>
</element>
<!-- constructor Visibility: public -->
<element name="TArrow.Create">
<short>Constructor for the class instance.</short>
<descr>
<p>
Create is the overridden constructor for the class instance, and calls the
inherited method on entry. Create sets the default values for properties,
including:
</p>
<ul>
<li>Constraints</li>
<li>ArrowType</li>
<li>ArrowPointerAngle</li>
<li>ShadowType</li>
<li>ShadowColor</li>
<li>ArrowColor</li>
</ul>
</descr>
<seealso>
<link id="#rtl.classes.TComponent.Create">TComponent.Create</link>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArrow.Create.AOwner">
<short>Owner of the class instance.</short>
</element>
<!-- property Visibility: published -->
<element name="TArrow.Align" link="#lcl.controls.TControl.Align"/>
<element name="TArrow.Anchors" link="#lcl.controls.TControl.Anchors"/>
<!-- property Visibility: published -->
<element name="TArrow.ArrowColor">
<short>Color used to draw the arrow symbol on the control.</short>
<descr>
<p>
The default value for the property is <var>clBlack</var>.
</p>
</descr>
<seealso/>
</element>
<!-- property Visibility: published -->
<element name="TArrow.ArrowType">
<short><var>ArrowType</var> - pointing up, down, left or right.</short>
<descr>
<p>
<var>ArrowType</var> is a <var>TArrowType</var> property which indicates the
direction for the arrow pointer on the control. The default value for the
property is <var>atLeft</var>. Changing the value for the property causes the
control to be redrawn.
</p>
</descr>
<seealso>
<link id="TArrowType"/>
</seealso>
</element>
<element name="TArrow.ArrowPointerAngle">
<short>Size of the angle that forms the arrow pointer.</short>
<descr>
<p>
<var>ArrowPointerAngle</var> is an <var>Integer</var> property with the size
of the angle (in degrees) that forms the arrow pointer for the control. It
determines the size in degrees for the angles on the base of the arrow
pointer. ArrowPointerAngle must be in the range specified by the
<var>cMinAngle</var> and <var>cMaxAngle</var> constants in the implementation
for the control. The default value for the property is 60, and causes all
three angles in the arrow pointer to measure 60 degrees.
</p>
<p>
ArrowPointerAngle is used to calculate the points for the arrow pointer
triangle.
</p>
</descr>
<seealso/>
</element>
<!-- property Visibility: published -->
<element name="TArrow.BorderSpacing" link="#lcl.controls.TControl.BorderSpacing"/>
<element name="TArrow.Color" link="#lcl.controls.TControl.Color"/>
<element name="TArrow.Constraints" link="#lcl.controls.TControl.Constraints"/>
<element name="TArrow.Enabled" link="#lcl.controls.TControl.Enabled"/>
<element name="TArrow.Hint" link="#lcl.controls.TControl.Hint"/>
<element name="TArrow.ParentColor" link="#lcl.controls.TControl.ParentColor"/>
<element name="TArrow.ParentShowHint" link="#lcl.controls.TControl.ParentShowHint"/>
<element name="TArrow.PopupMenu" link="#lcl.controls.TControl.PopupMenu"/>
<!-- property Visibility: published -->
<element name="TArrow.ShadowType">
<short>
<var>ShadowType</var> - the type of shadowing: None, In, Out, EtchedIn,
EtchedOut.
</short>
<descr/>
<seealso>
<link id="TShadowType"/>
</seealso>
</element>
<element name="TArrow.ShadowColor">
<short>Color used to draw the shadow on the control.</short>
<descr>
<p>
<var>ShadowColor</var> is a <var>TColor</var> property with the color used to
draw the shadow on the control (when enabled). The default value for the
property is <var>cl3DShadow</var>. Changing the value for the property causes
the control to be redrawn.
</p>
<p>
ShadowColor is used, along with <var>ShadowType</var>, in the
<var>Paint</var> method to draw the triangle for the shadow on the control.
The property value is used as both the pen and the brush color for the shadow
triangle.
</p>
</descr>
<seealso>
<link id="TArrow.ShadowType"/>
<link id="TArrow.Paint"/>
</seealso>
</element>
<element name="TArrow.ShowHint" link="#lcl.controls.TControl.ShowHint"/>
<element name="TArrow.Visible" link="#lcl.controls.TControl.Visible"/>
<element name="TArrow.OnChangeBounds" link="#lcl.controls.TControl.OnChangeBounds"/>
<element name="TArrow.OnClick" link="#lcl.controls.TControl.OnClick"/>
<element name="TArrow.OnContextPopup" link="#lcl.controls.TControl.OnContextPopup"/>
<element name="TArrow.OnDblClick" link="#lcl.controls.TControl.OnDblClick"/>
<element name="TArrow.OnDragDrop" link="#lcl.controls.TControl.OnDragDrop"/>
<element name="TArrow.OnDragOver" link="#lcl.controls.TControl.OnDragOver"/>
<element name="TArrow.OnEndDrag" link="#lcl.controls.TControl.OnEndDrag"/>
<element name="TArrow.OnMouseDown" link="#lcl.controls.TControl.OnMouseDown"/>
<element name="TArrow.OnMouseEnter" link="#lcl.controls.TControl.OnMouseEnter"/>
<element name="TArrow.OnMouseLeave" link="#lcl.controls.TControl.OnMouseLeave"/>
<element name="TArrow.OnMouseMove" link="#lcl.controls.TControl.OnMouseMove"/>
<element name="TArrow.OnMouseUp" link="#lcl.controls.TControl.OnMouseUp"/>
<element name="TArrow.OnMouseWheel" link="#lcl.controls.TControl.OnMouseWheel"/>
<element name="TArrow.OnMouseWheelDown" link="#lcl.controls.TControl."/>
<element name="TArrow.OnMouseWheelUp" link="#lcl.controls.TControl."/>
<element name="TArrow.OnMouseWheelHorz" link="#lcl.controls.TControl."/>
<element name="TArrow.OnMouseWheelLeft" link="#lcl.controls.TControl."/>
<element name="TArrow.OnMouseWheelRight" link="#lcl.controls.TControl."/>
<element name="TArrow.OnPaint" link="#lcl.controls.TGraphicControl.OnPaint"/>
<element name="TArrow.OnResize" link="#lcl.controls.TControl.OnResize"/>
<element name="TArrow.OnStartDrag" link="#lcl.controls.TControl.OnStartDrag"/>
<!-- procedure Visibility: default -->
<element name="Register">
<short>Registers components for use in the Lazarus IDE.</short>
<descr>
<p>
The following components are added to the Lazarus IDE component palette:
</p>
<p>
<b>Misc</b> Tab
</p>
<ul>
<li>TArrow</li>
</ul>
</descr>
<seealso/>
</element>
</module>
<!-- Arrow -->
</package>
</fpdoc-descriptions>
|