<?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="lazutils">
<!--
====================================================================
FPCAdds
====================================================================
-->
<module name="FPCAdds">
<short>
Contains additional types and routines not currently available in FPC.
</short>
<descr>
<p>
<file>fpcadds.pas</file> contains code in its initialization section to set 
the code page for conversions and the <var>RTL</var> file system to 
<var>CP_UTF8</var>. The initialization code is included only for platforms or 
OS-es where the <var>RTL</var> (<b>Run-Time Library</b>) is UTF-8-enabled.
</p>
<p>
<file>fpcadds.pas</file> is part of the <file>lazutils</file> package.
</p>
</descr>

<!-- unresolved type references Visibility: default -->
<element name="Classes"/>
<element name="SysUtils"/>

<element name="TStreamSeekType">
<short>
Alias to the Int64 type used as the origin for TStream seek operations.
</short>
<descr>
<p>
Used in the implementation of classes including:
</p>
<ul>
<li>TBitmap</li>
<li>TIcon</li>
<li>TSharedCursorImage</li>
<li>TImageList</li>
<li>TClipboard</li>
</ul>
</descr>
<seealso></seealso>
</element>

<element name="TMemStreamSeekType">
<short>
Alias to the PtrInt type used as the origin for TMemoryStream seek operations.
</short>
<descr>
Used in the implementation of <var>TSynCustomExporter</var>.
</descr>
<seealso></seealso>
</element>

<element name="TCompareMemSize">
<short>Alias to the PtrUInt type used when comparing memory blocks.</short>
<descr>
Used in the implementation of <var>TSynCustomExporter</var> and 
<var>TGraphic</var>.
</descr>
<seealso></seealso>
</element>

<element name="StrToWord">
<short>Converts the value in a String to a Word data type.</short>
<descr></descr>
<seealso></seealso>
</element>
<element name="StrToWord.Result">
<short>Word value calculated for the specified String.</short>
</element>
<element name="StrToWord.s">
<short>String value examined in the method.</short>
</element>

<element name="AlignToPtr">
<short>
Aligns the specified pointer to the boundaries required for the FPC compiler.
</short>
<descr>
<p>
<var>AlignToPtr</var> is a <var>Pointer</var> function used to adjust the 
pointer specified in <var>p</var> to the boundaries required for the FPC 
compiler. AlignToPtr is influenced by the 
<b>FPC_REQUIRES_PROPER_ALIGNMENT</b> compiler define; when it is defined, the 
Align routine is called to adjust the pointer to the size required for 
Pointer data types. When it is not defined, the pointer in <var>p</var> does 
not require alignment, and is used as the return value.
</p>
</descr>
<seealso>
<link id="AlignToInt"/>
</seealso>
</element>
<element name="AlignToPtr.p">
<short>Pointer affected in the routine.</short>
</element>

<element name="AlignToInt">
<short>
Aligns the specified pointer to the size of an Integer data type.
</short>
<descr>
<p>
<var>AlignToInt</var> is a <var>Pointer</var> function used to adjust the 
pointer in <var>p</var> to the size needed for an <var>Integer</var> data 
type. <var>AlignToInt</var> is influenced by the 
<b>FPC_REQUIRES_PROPER_ALIGNMENT</b> compiler define; when it is defined, the 
<var>Align</var> routine is called to adjust the pointer size to the 
boundaries required for an <var>Integer</var> data type. When it is not 
defined, the pointer in <var>p</var> is used as the return value.
</p>
</descr>
<seealso>
<link id="AlignToPtr"/>
</seealso>
</element>
<element name="AlignToInt.p">
<short>Pointer to the value aligned in the routine.</short>
</element>

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