File: arrow.xml

package info (click to toggle)
lazarus 4.6%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 276,392 kB
  • sloc: pascal: 2,344,754; xml: 509,184; makefile: 355,815; cpp: 93,608; sh: 3,387; java: 609; perl: 297; sql: 222; ansic: 137
file content (329 lines) | stat: -rw-r--r-- 11,319 bytes parent folder | download | duplicates (3)
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>