<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
  <package name="lcl">
    <!--
  ====================================================================
    ImgList
  ====================================================================
-->
    <module name="ImgList">
      <short>Contains definitions for TCustomImageList, the base class for TImageList.</short>
      <descr/>
      <!-- "type" alias type Visibility: default -->
      <element name="TImageIndex">
        <short>Type of an ImageList index (integer), unused!</short>
        <descr>Exists for Delphi compatibility only, but is unused there as well.</descr>
        <seealso/>
      </element>
      <!-- object Visibility: default -->
      <element name="TChangeLink">
        <short>
          Use a TChangelink to get notified of imagelist changes.</short>
        <descr/>
        <errors/>
        <seealso><link id="TCustomImageList.RegisterChanges"/>
        </seealso>
      </element>
      <!-- variable Visibility: private -->
      <element name="TChangeLink.FSender" link="TChangeLink.Sender"/>
      <element name="TChangeLink.FOnChange" link="TChangeLink.OnChange"/>
      <!-- destructor Visibility: public -->
      <element name="TChangeLink.Destroy"/>
      <!-- procedure Visibility: public -->
      <element name="TChangeLink.Change">
        <short>
          <var>Change</var> - software emulation of the <var>OnChange</var> event</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TChangeLink.OnChange">
        <short>
          <var>OnChange</var> - event handler for a change in the Imagelist</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TChangeLink.Sender">
        <short>
          <var>Sender</var> - the imagelist that has notified us of a change</short>
        <descr/>
        <seealso/>
      </element>
      <!-- enumeration type Visibility: default -->
      <element name="TDrawingStyle">
        <short>Defines transparency and blending of rendered images.</short>
        <descr>Blending means that the Color is merged with the previous contents of
         the destination area by a degree defined by an alpha value.
        </descr>
        <seealso/>
      <notes><note>What's "blending"?</note><note>right?</note>
        </notes>
      </element>
      <element name="TDrawingStyle.dsFocus">
        <short>Applies 25% of BlendColor.</short>
      </element>
      <element name="TDrawingStyle.dsSelected">
        <short>Applies 50% of BlendColor.</short>
      </element>
      <element name="TDrawingStyle.dsNormal">
        <short>Draw using BkColor for the background, transparent if BkColor is clNone.</short>
      </element>
      <element name="TDrawingStyle.dsTransparent">
        <short>Always draw transparently, ignore BkColor and BlendColor.</short>
      </element>
      <!-- enumeration type Visibility: default -->
      <element name="TImageType">
        <short>Indicates whether a mask shall be used in rendering an image.</short>
        <descr>The mask specifies the transparent part of the image</descr>
        <seealso/>
      <notes><note>What's the effect of applying a mask?</note><note>right?</note>
        </notes>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TImageType.itImage">
        <short>Don't apply a mask.</short>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TImageType.itMask">
        <short>Apply the mask.</short>
      </element>
      <!-- object Visibility: default -->
      <element name="TCustomImageList">
        <short>Base class for TImageList (not the same as a <var>TBitmap</var> collection)</short>
        <descr>
          <p>An ImageList contains images (bitmaps or icons) of the same Width and Height, accessible by index.
            The images are stored in one big (wide) bitmap, whose width is Width*Count.
          </p><p>When an image of a different Width or Height is inserted, the previous contents of the list are discarded!
          </p><p>
            It's okay, however, to insert an imagelist-like bitmap, that contains multiple bitmaps of the same Width and Height as used by the ImageList.
            This allows to insert e.g. other (compatible) ImageLists, or bitmaps for multiple states of essentially the same image (button pressed, released and disabled).
          </p><p>
            Transparency is implemented in the alpha channel of the raw 32 bit RGBA imagedata array - but not all platforms support such an alpha channel.
          </p><p>
            The painting of an image from the list is handled by the widgetset, no bitmap or icon component is involved.
            The widgetset can use a different internal organization of the data, optimized for immediate painting of an image.
          </p><p>
            <b>NOTE:</b> A TCustomImageList is <b>not</b> a TBitmap collection.
            If a storage of distinct bitmaps is needed, create your own list of TBitMaps (array or TList).
          </p><p>
            Please note also that inserting or moving images will affect the index of all following images,
            what can cause trouble with index constants. In such cases a bitmap collection may better fit your needs.
          </p>
          <remark>Windows ImgageLists can contain a list of monochrome mask bitmaps, present when Masked=True.
          </remark>
        </descr>
        <errors>
          <p>Currently only the insertion of Bitmaps is supported. Other image types should be rendered as bitmaps of Width and Height, which then can be inserted.</p>
          <p>Image overlays also are unsupported.</p>
        </errors>
        <seealso/>
      <notes><note>What exactly does this mean to the user?</note><note>What about Mask, HotSpot and ShareImages?</note><note>Does the LCL support this feature, or is only the TransparentColor used to make images transparent?</note>
        </notes>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomImageList.FAllocBy" link="TCustomImageList.AllocBy"/>
      <element name="TCustomImageList.FBkColor" link="TCustomImageList.BkColor"/>
      <element name="TCustomImageList.FBlendColor" link="TCustomImageList.BlendColor"/>
      <element name="TCustomImageList.FCount" link="TCustomImageList.Count"/>
      <element name="TCustomImageList.FDrawingStyle" link="TCustomImageList.DrawingStyle"/>
      <element name="TCustomImageList.FHeight" link="TCustomImageList.Height"/>
      <element name="TCustomImageList.FImageType" link="TCustomImageList.ImageType"/>
      <element name="TCustomImageList.FMasked" link="TCustomImageList.Masked"/>
      <element name="TCustomImageList.FOnChange" link="TCustomImageList.OnChange"/>
      <element name="TCustomImageList.FShareImages" link="TCustomImageList.ShareImages"/>
      <element name="TCustomImageList.FReference" link="TCustomImageList.Reference"/>
      <element name="TCustomImageList.FWidth" link="TCustomImageList.Width"/>
      <!-- variable Visibility: private -->
      <element name="TCustomImageList.FAllocCount">
        <short>The size of the allocated Data list, in number of images.</short>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomImageList.FChanged">
        <short>Change flag, remembers changes while update notifications are locked (FUpdateCount &gt; 0).</short>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomImageList.FChangeLinkList">
        <short>List of TChangeLinks which are notified of changes.</short>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomImageList.FData">
        <short>Holds the pixel data of all images.</short>
      </element>
      <!-- variable Visibility: protected -->
      <element name="TCustomImageList.FUpdateCount">
        <short>Counter for BeginUpdate/EndUpdate calls.</short>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.AllocData">
        <short>Allocates data for ACount images, rounded up by AllocBy.</short>
      </element>
      <element name="TCustomImageList.AllocData.ACount">
        <short>The number of images to allocate room for.</short>
        <descr>The list only can increase. Use Clear to reduce it to the empty list.</descr>
      </element>
      <element name="TCustomImageList.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <element name="TCustomImageList.InternalInsert">
        <short>Insert bitmap (with split if necessary) into position AIndex with shifting other images.</short>
      </element>
      <element name="TCustomImageList.InternalInsert.AIndex">
        <short>Where to insert the images.</short>
      </element>
      <element name="TCustomImageList.InternalInsert.AImage">
        <short>The image (BitMap) handle.</short>
      </element>
      <element name="TCustomImageList.InternalInsert.AMask">
        <short>The mask (BitMap) handle.</short>
      </element>
      <element name="TCustomImageList.InternalInsert.AWidth">
        <short>Width in pixels</short>
      <notes><note>of?</note>
        </notes>
      </element>
      <element name="TCustomImageList.InternalInsert.AHeight">
        <short>Height of all images in pixels.</short>
      </element>
      <element name="TCustomImageList.InternalInsert.ARawImage">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.InternalMove">
        <short>Moves an image from CurIndex to NewIndex, without notifying the widgetset.</short>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <element name="TCustomImageList.InternalMove.ACurIndex">
        <short>the index of the image to be moved</short>
      </element>
      <element name="TCustomImageList.InternalMove.ANewIndex">
        <short>the new index of the image</short>
      </element>
      <element name="TCustomImageList.InternalMove.AIgnoreCurrent">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.InternalReplace">
        <short/>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.InternalReplace.AIndex">
        <short/>
      </element>
      <element name="TCustomImageList.InternalReplace.AImage">
        <short/>
      </element>
      <element name="TCustomImageList.InternalReplace.AMask">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomImageList.InternalSetImage">
        <short>Copies the imagedata into the FData array and then frees the image.</short>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <element name="TCustomImageList.InternalSetImage.Result">
        <short>Pointer to the updated image data</short>
      </element>
      <element name="TCustomImageList.InternalSetImage.AIndex">
        <short>the index of the location where the image should be set</short>
      </element>
      <element name="TCustomImageList.InternalSetImage.AImage">
        <short>the new image</short>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.NotifyChangeLink">
        <short>Notifies all subscribed objects of a change in the imagelist.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.SetBkColor" link="TCustomImageList.BkColor"/>
      <element name="TCustomImageList.SetBkColor.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.SetDrawingStyle" link="TCustomImageList.DrawingStyle"/>
      <element name="TCustomImageList.SetDrawingStyle.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.SetHeight" link="TCustomImageList.Height"/>
      <element name="TCustomImageList.SetHeight.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.SetMasked" link="TCustomImageList.Masked"/>
      <element name="TCustomImageList.SetMasked.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.SetShareImages" link="TCustomImageList.ShareImages"/>
      <element name="TCustomImageList.SetShareImages.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomImageList.SetWidth" link="TCustomImageList.Width"/>
      <element name="TCustomImageList.SetWidth.Value">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomImageList.GetReference" link="TCustomImageList.Reference"/>
      <element name="TCustomImageList.GetReference.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomImageList.Initialize">
        <short>
          <var>Initialize</var> - sets up the list</short>
        <descr>
          Initializes the internal bitmap structures and the changelink list.
          It is used by the Create and CreateSize constructors.
        </descr>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomImageList.DefineProperties"/>
      <element name="TCustomImageList.DefineProperties.Filer">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomImageList.SetWidthHeight">
        <short>
          Sets both the Width and Height of all images.</short>
        <descr>Changed values clear the entire list.</descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.SetWidthHeight.NewWidth">
        <short/>
      </element>
      <element name="TCustomImageList.SetWidthHeight.NewHeight">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomImageList.Create"/>
      <element name="TCustomImageList.Create.AOwner">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.AssignTo"/>
      <element name="TCustomImageList.AssignTo.Dest">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Assign"/>
      <element name="TCustomImageList.Assign.Source">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.WriteData">
        <short>Writes the ImageList data into the stream.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.WriteData.AStream">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.ReadData">
        <short>Restores the ImageList data from the stream.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.ReadData.AStream">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.BeginUpdate">
        <short>
          Start updating the data, block the OnChange event.</short>
        <descr>
          <p>Use together with EndUpdate to speed up the insertion of multiple images.
          </p><p>
            Every BeginUpdate must be matched by an EndUpdate, i.e. update operations can be nested.
          </p>
        </descr>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.EndUpdate">
        <short>
          <var>EndUpdate</var> - finish updating the data, call Change.</short>
        <descr>Decrements the internal UpdateCount and, when it reaches zero, does whatever is required to reflect the new content.
</descr>
        <errors/>
        <seealso>
          <link id="TCustomImageList.Change"/>
        </seealso>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomImageList.Add">
        <short>
          Adds an Image and Mask bitmap to the list. Returns the index of the added image or -1 if unsucessful.</short>
        <descr>
<pre>
  Adds one or more (bitmap width / imagelist width) bitmaps to the list.
  If Mask is nil, the image has no transparent parts.
</pre>
        </descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.Add.Result">
        <short>The index of the added image, -1 if unsuccesful.</short>
      </element>
      <element name="TCustomImageList.Add.Image">
        <short>a bitmap image</short>
      </element>
      <element name="TCustomImageList.Add.Mask">
        <short>a bitmap which defines the transparent parts of Image</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomImageList.AddIcon">
        <short>Adds an icon to the list, returning the index of the icon or -1 if not successful.</short>
        <descr>Adding graphics other than bitmaps can be implemented by converting the graphics item into a bitmap, which then can be added to the image list.
          Most graphics classes support such a conversion, so that specialized methods are redundant.</descr>
        <errors/>
        <seealso><link id="TCustomImageList.InsertIcon"/>
        </seealso>
      </element>
      <element name="TCustomImageList.AddIcon.Result">
        <short>The index of the added icon, -1 if unsuccesful.</short>
      </element>
      <element name="TCustomImageList.AddIcon.Image">
        <short>The Icon to be added.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.AddImages">
        <short>
          Adds images from another imagelist to the list.</short>
        <descr>Both lists must have the same image Width and Height, else the old images are discarded.</descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.AddImages.AValue">
        <short>
          The ImageList containing the images to add.</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomImageList.AddMasked">
        <short>
          Adds one or more (bitmap width / imagelist width) transparent bitmaps to the list.</short>
        <descr>
          <p>
            Every pixel of MaskColor will become transparent.
          </p><p>
            Image can contain multiple images of the same Width and Height.
            The image width must be a multiple of Width, and the image height must equal Height,
            else all old images in the list are discarded.
          </p>
        </descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.AddMasked.Result">
        <short>The index of the first added image, -1 if unsuccesful.</short>
      </element>
      <element name="TCustomImageList.AddMasked.Image">
        <short>The bitmap to be added.</short>
      </element>
      <element name="TCustomImageList.AddMasked.MaskColor">
        <short>The color acting as transparant color.</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomImageList.AddLazarusResource">
        <short>
          Loads a bitmap from a lazarus resources and adds it.</short>
      </element>
      <element name="TCustomImageList.AddLazarusResource.Result">
        <short>Index of the first added image.</short>
      </element>
      <element name="TCustomImageList.AddLazarusResource.ResourceName">
        <short>The name of the Lazarus resource.</short>
      </element>
      <element name="TCustomImageList.AddLazarusResource.MaskColor">
        <short>The mask color for transparent images, clNone for solid (opaque) images.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Change">
        <short>
          Send change notifications, if the list has changed and updates are not locked.</short>
        <descr>Notifies all members of the ChangeLinkList, and calls the <var>OnChange</var> handler.</descr>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Clear">
        <short>Removes all images from the list.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomImageList.CreateSize">
        <short>Initialize the list for image(s) with the given height and width.</short>
        <descr>
          <p>
            This constructor overrides the default initial size of the images (16x16 pixels).
          </p>
          <p>The Width and Height is reset with every insertion of a bitmap.
          It may be useful, however, to initialize a list for the insertion of graphics <b>other</b> than bitmaps,
          so that the images can be rendered as bitmaps of the intended width and height, before they are inserted.
          </p>
        </descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.CreateSize.AWidth">
        <short>The width of all images, in pixels.</short>
      </element>
      <element name="TCustomImageList.CreateSize.AHeight">
        <short>The height of all images, in pixels.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Delete">
        <short>Delete the specified image.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.Delete.AIndex">
        <short>the index of the image to be deleted. -1 for delete all.</short>
      </element>
      <!-- destructor Visibility: public -->
      <element name="TCustomImageList.Destroy"/>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Draw">
        <short>Paint an image</short>
        <descr>Paints the image specified by <var>AIndex</var> on <var>Canvas</var> at position <var>AX, AY</var>.</descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.Draw.ACanvas">
        <short/>
      </element>
      <element name="TCustomImageList.Draw.AX">
        <short/>
      </element>
      <element name="TCustomImageList.Draw.AY">
        <short/>
      </element>
      <element name="TCustomImageList.Draw.AIndex">
        <short>The image index.</short>
      </element>
      <element name="TCustomImageList.Draw.AEnabled">
         <short>If False, draw the image disabled (dithered).</short>
     </element>
      <element name="TCustomImageList.Draw.ADrawEffect">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.Draw.ADrawingStyle">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.Draw.AImageType">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.GetBitmap">
        <short>Copies the selected image into the given bitmap</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.GetBitmap.Index">
        <short>the index of the requested image</short>
      </element>
      <element name="TCustomImageList.GetBitmap.Image">
        <short>a bitmap as a container for the bitmap</short>
      </element>
      <element name="TCustomImageList.GetBitmap.AEffect">
        <short>how to copy</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomImageList.GetHotSpot">
        <short>
          Returns the offset from the drawing position to the image origin.</short>
        <descr>A HotSpot is used only in a TDragImageList, here it is (0,0).</descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.GetHotSpot.Result">
        <short/>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomImageList.HandleAllocated"/>
      <!-- function result Visibility: default -->
      <element name="TCustomImageList.HandleAllocated.Result">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Insert">
        <short>
          Inserts one or more images into the list at the index position.</short>
        <descr>
          <p>
          The inserted bitmap can consist of multiple images, of the same width and height, which become accessible as distinct images in the ImageList.
          </p><p>
            The height of the inserted images must match the ImageList height, else the ImageList content is <b>replaced</b> by the added images.
            The width must be a multiple of the ImageList width, so that the list always contains an integral number of images.
          </p><p>
            If Mask is nil, the inserted images have no transparent parts.
            Use InsertMasked to insert bitmaps with a specific transparent color.
          </p>
        </descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.Insert.AIndex">
        <short>insert position</short>
      </element>
      <element name="TCustomImageList.Insert.AImage">
        <short>bitmap to insert</short>
      </element>
      <element name="TCustomImageList.Insert.AMask">
        <short>transparency mask, Nil for opaque</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.InsertIcon">
        <short>Insert an Icon into the list.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.InsertIcon.AIndex">
        <short>insertion point</short>
      </element>
      <element name="TCustomImageList.InsertIcon.AIcon">
        <short>The Icon to insert.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.InsertMasked">
        <short>
          Adds one or more transparent bitmaps to the list.</short>
        <descr>MaskColor is the RGB color of the transparent pixels. Every occurence of a MaskColor pixel will be converted into a transparent pixel.</descr>
        <errors/>
        <seealso>
          <link id="TCustomImageList.Insert"/>
        </seealso>
      </element>
      <element name="TCustomImageList.InsertMasked.Index">
        <short>The index of the inserted image.</short>
      </element>
      <element name="TCustomImageList.InsertMasked.AImage">
        <short>The bitmap to be inserted.</short>
      </element>
      <element name="TCustomImageList.InsertMasked.MaskColor">
        <short>The color acting as transparant color.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Move">
        <short>
          Move an image from index <var>CurIndex</var> to <var>NewIndex.</var>
        </short>
        <descr/>
        <errors/>
        <seealso>
          <link id="TCustomImageList"/>
        </seealso>
      </element>
      <element name="TCustomImageList.Move.ACurIndex">
        <short>the index of the image to be moved</short>
      </element>
      <element name="TCustomImageList.Move.ANewIndex">
        <short>the new index of the image</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Replace">
        <short>
          <var>Replace</var> the indexed image with the Bitmap given</short>
        <descr>AMask can be nil, if the image has no transparent parts.</descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.Replace.AIndex">
        <short>the index of the replaceded image</short>
      </element>
      <element name="TCustomImageList.Replace.AImage">
        <short>a bitmap image</short>
      </element>
      <element name="TCustomImageList.Replace.AMask">
        <short>a bitmap which defines the transparent parts of Image</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.ReplaceMasked">
        <short>
          <var>ReplaceMasked</var> - replaces the indexed image with the image given.</short>
        <descr>Every pixel of MaskColor will be converted to transparent.</descr>
        <errors/>
        <seealso>
          <link id="TCustomImageList.InsertMasked"/>
          <link id="TCustomImageList.AddMasked"/>
        </seealso>
      </element>
      <element name="TCustomImageList.ReplaceMasked.Index">
        <short>The index of the replaced image.</short>
      </element>
      <element name="TCustomImageList.ReplaceMasked.NewImage">
        <short>A bitmap image.</short>
      </element>
      <element name="TCustomImageList.ReplaceMasked.MaskColor">
        <short>The color acting as transparant color.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.RegisterChanges">
        <short>Registers an TChangeLink object to get notified of a change of the imagelist.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.RegisterChanges.Value">
        <short>a reference to changelink object</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.UnRegisterChanges">
        <short>
          Unregisters an notification object.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomImageList.UnRegisterChanges.Value">
        <short>Reference to the changelink object to remove.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.AllocBy">
        <short>
          The length of the image list is increased in multiples of AllocBy images. Default is 4.</short>
        <descr>Other list types allow to set the list Capacity directly - not so for an ImageList.</descr>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.BlendColor">
        <short>
          The color for used in blending (dithering) an image.</short>
        <descr/>
        <seealso><link id="TDrawingStyle"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.BkColor">
        <short>
          The background color to use for transparent parts.</short>
        <descr>
          <p>BkColor is intended to speed up drawing of transparent images,
          on a background of known color (=BkColor). In this case the image can be drawn opaque,
          eliminating the need for really masking out and merging with existing background.
          </p>
        </descr>
        <seealso/>
      <notes><note>does this really apply? depending on the widgetset?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.Count">
        <short>
          The number of images in the list</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.DrawingStyle">
        <short>
          The default drawing style - focussed, selected, normal or transparent.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.Height">
        <short>
          The unique height of all images in the list.</short>
        <descr>Setting to an different value clears the entire list!</descr>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.Width">
        <short>
          The unique width of all images in the list.</short>
        <descr>Setting to an different value clears the entire list!</descr>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.OnChange">
        <short>
          <var>OnChange</var> - event handler for a change in the imagelist</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.Masked">
        <short>
          True when mask images are stored with every image (unused!).</short>
        <descr>This property exists only for Delphi compatibility</descr>
        <seealso/>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.ShareImages">
        <short>
          True when this image list is shared. Unused!</short>
        <descr>This property exists only for Delphi compatibility.
          True means that the imagelist <b>widget</b> is freed together with the ImageList
        </descr>
        <seealso/>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomImageList.ImageType">
        <short>
          Unused!</short>
        <descr>This property exists only for Delphi compatibility</descr>
        <seealso/>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.FillDescription">
        <short>
          <var>FillDescription</var> - fills the description with the default info of the imagedata</short>
      </element>
      <element name="TCustomImageList.FillDescription.ADesc">
        <short>the description to copy</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.GetFullBitmap">
        <short/>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.GetFullBitmap.Image">
        <short>the target bitmap</short>
      </element>
      <element name="TCustomImageList.GetFullBitmap.AEffect">
        <short>how to copy</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.GetFullRawImage">
        <short>Exports the entire internal image (color array) and description.</short>
      </element>
      <element name="TCustomImageList.GetFullRawImage.Image">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.GetRawImage">
        <short>
          Exports an image as TRawImage.</short>
      </element>
      <element name="TCustomImageList.GetRawImage.Index">
        <short>the index of the image to copy</short>
      </element>
      <element name="TCustomImageList.GetRawImage.Image">
        <short>the target bitmap</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.Reference">
        <short>
          <var>Reference</var> to the imagelist</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomImageList.CheckIndex">
        <short>
          Assures that Index is not out of the list bound.</short>
        <errors>
          Raises an EInvalidOperation exception when the index is out of bounds.
        </errors>
      </element>
      <element name="TCustomImageList.CheckIndex.AIndex">
        <short>The index to check.</short>
      </element>
      <element name="TCustomImageList.CheckIndex.AForInsert">
        <short>Set to True when the index is used for insertion (default is False).</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomImageList.GetReferenceHandle">
        <short>
          Returns the Handle of the Reference.</short>
      </element>
      <element name="TCustomImageList.GetReferenceHandle.Result">
        <short>The widget handle.</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomImageList.WSCreateReference">
        <short>
          Instructs the widgtset to create an imagelist.</short>
      </element>
      <element name="TCustomImageList.WSCreateReference.Result">
        <short>Reference object for the created widget.</short>
      </element>
      <element name="TCustomImageList.WSCreateReference.AParams">
        <short>ignored</short>
      </element>
      <element name="TCustomImageList.StretchDraw">
        <short>
          Draws an image stretched to ARect.</short>
      </element>
      <element name="TCustomImageList.StretchDraw.Canvas">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.StretchDraw.Index">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.StretchDraw.ARect">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.StretchDraw.Enabled">
        <short/>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TCustomImageList.Equals">
        <short>Check for equivalence with another ImageList</short>
        <descr>This is an expensive operation, since both imagelists are written into memory streams, which then are compared bytewise.</descr>
      </element>
      <element name="TCustomImageList.Equals.Result">
        <short>True when the image lists are equal.</short>
      </element>
      <element name="TCustomImageList.Equals.Obj">
        <short>The object (ImageList) to compare with.</short>
      </element>
    </module>
    <!-- ImgList -->
  </package>
</fpdoc-descriptions>
