mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-30 20:42:39 +02:00
50 lines
2.1 KiB
XML
50 lines
2.1 KiB
XML
<?xml version="1.0"?>
|
||
<fpdoc-descriptions>
|
||
<package name="SynEdit">
|
||
<module name="SynEditTextBase">
|
||
<element name="TSynEditStorageMem">
|
||
<short>Baseclass for index based storage. Provides a block of memory per item (e.g. string pointer per line)</short>
|
||
<descr>Similar like TList, provides a definable amount of Memory for each Item.
|
||
|
||
Each item will be given the same amount of Memory,
|
||
which can be used to store a record or any other form of fixed size data.
|
||
|
||
Each subclass is responsible for defining the ItemSize. (May only be changed if list is empty).
|
||
Subclasses must also manage count, capacity and trigger moving data on insert/delete.
|
||
|
||
This class is only responsible for allocating and managing (execute moving) the required
|
||
memory
|
||
|
||
The memory for all items is allocated as a single big block. This avoids having a list
|
||
of pointer to many small memory fragment
|
||
|
||
This memory organiztion is not guranteed. Calling code must not relay on it.
|
||
It could be changed to allocate blocks of n items, or implement gap-list like behavior..</descr>
|
||
<seealso>Derrived classes:
|
||
TSynEditStringMemory
|
||
TSynHighlighterRangeList</seealso>
|
||
</element>
|
||
<element name="TSynEditStorageMem.ItemSize">
|
||
<short>Size of each Item in Bytes. Must be constant or set while list is empty</short>
|
||
<descr>
|
||
<p>A block of ItemSize bytes will be allocated for each Item.
|
||
This is used by SetCapacity and ItemPointer.</p>
|
||
<p>This value must not be changed if any data is stored (Capacity > 0),
|
||
since the data will not be remapped to the new Size.</p>
|
||
</descr>
|
||
</element>
|
||
<element name="TSynEditStorageMem.Mem"/>
|
||
<element name="TSynEditStorageMem.ItemPointer">
|
||
<short>Get a pointer to the Memory for the indexed item </short>
|
||
</element>
|
||
<element name="TSynEditStrings">
|
||
<short>Baseclass for Text-Storage and Virtual-Representation of Text (View)</short>
|
||
<descr>
|
||
<p>Defines an interface through which SynEdit does (should do) all it's access to the text.</p>
|
||
<p/>
|
||
</descr>
|
||
</element>
|
||
</module>
|
||
</package>
|
||
</fpdoc-descriptions>
|