diff --git a/docs/xml/lcl/imglist.xml b/docs/xml/lcl/imglist.xml index a0815eaebf..7472be65ed 100644 --- a/docs/xml/lcl/imglist.xml +++ b/docs/xml/lcl/imglist.xml @@ -11,17 +11,17 @@ - [?] - + Type of an ImageList index (integer), unused! + Exists for Delphi compatibility only, but is unused there as well. - TChangeLink - class to notify when an Imagelist changes + Use a TChangelink to get notified of imagelist changes. - + @@ -52,35 +52,39 @@ - [?] - + Defines transparency and blending of rendered images. + [What's "blending"?] + Blending means that the BlendColor is applied to the image foreground, + to a certain degree (dithering). [right?] + - [?] + Applies 25% of BlendColor. - [?] + Applies 50% of BlendColor. - [?] + Draw using BkColor for the background, transparent if BkColor is clNone. - [?] + Always draw transparently, ignore BkColor and BlendColor. - [?] - + Indicates whether a mask shall be used in rendering an image. + [What's the effect of applying a mask?] + The mask specifies the transparent part of the image [right?] - [?] + Don't apply a mask. - [?] + Apply the mask. @@ -101,10 +105,20 @@

NOTE: A TCustomImageList is not a TBitmap collection. If a storage of distinct bitmaps is needed, create your own list of TBitMaps (array or TList). -

[What about Mask and ShareImages?] +

+ 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. +

+ [What about Mask, HotSpot and ShareImages?]

+ Windows ImgageLists can contain a list of monochrome mask bitmaps, present when Masked=True. + [Does the LCL support this feature, or is only the TransparentColor used to make images transparent?] +
- 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. + +

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.

+

Image overlays also are unsupported.

+
@@ -122,61 +136,50 @@ - - - + The size of the allocated Data list, in number of images. - - - + Change flag, remembers changes while update notifications are locked (FUpdateCount > 0). - - - + List of TChangeLinks which are notified of changes. - - - - - + Holds the pixel data of all images. + + + + Counter for BeginUpdate/EndUpdate calls. - Allocates data for ACount images - - - - - - + Allocates data for ACount images, rounded up by AllocBy. - the number of images + The number of images to allocate room for. + The list only can increase. Use Clear to reduce it to the empty list. Insert bitmap (with split if necessary) into position AIndex with shifting other images. - Index to insert images + Where to insert the images. - Image handle + The image (BitMap) handle. - Mask handle + The mask (BitMap) handle. - Width in pixels + Width [of?] in pixels - Height in pixels + Height of all images in pixels. [?] @@ -240,7 +243,7 @@ - Internal function to notify the subscribed objects of a change of the imagelist. + Notifies all subscribed objects of a change in the imagelist. @@ -280,12 +283,6 @@ - - - - - - @@ -298,21 +295,15 @@ - - - DefineProperties - defines the properties of the ImageList (stored in a file) - - - - + - SetWidthHeight - set Width and Height of the images. - Writing clears the entire list. + Sets both the Width and Height of all images. + Changed values clear the entire list. @@ -339,7 +330,7 @@ - Writes the ImageList data into the stream + Writes the ImageList data into the stream. @@ -349,7 +340,7 @@ - Restores the ImageList data from the stream + Restores the ImageList data from the stream. @@ -384,7 +375,7 @@ - Add an Image and Mask bitmap to the list. Returns the index of the added image or -1 if unsucessful + Adds an Image and Mask bitmap to the list. Returns the index of the added image or -1 if unsucessful.
   Adds one or more (bitmap width / imagelist width) bitmaps to the list.
@@ -405,91 +396,96 @@
       
       
       
-        Adds an icon to the list [not yet!?], returning the index of the icon or -1 if not successful
+        Adds an icon to the list, returning the index of the icon or -1 if not successful.
         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.
         
-        
+        
       
       
         The index of the added icon, -1 if unsuccesful.
       
       
-        the Icon to be added.
+        The Icon to be added.
       
       
       
         
-          AddImages - adds images from another imagelist to the list
+          Adds images from another imagelist to the list.
         Both lists must have the same image Width and Height, else the old images are discarded.
         
         
       
       
         
-          AValue - the ImageList containing images to add
+          The ImageList containing the images to add.
       
       
       
         
-          AddMasked - adds one or more bitmaps to the list
+          Adds one or more (bitmap width / imagelist width) transparent bitmaps to the list.
         
-
-Every pixel of MaskColor will become transparent.
-
-Image can contain multiple images of the same Width and Height.
-
-Returns the index of the first added bitmap, or -1 if unsuccessful.
-
+

+ Every pixel of MaskColor will become transparent. +

+ 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. +

- The index of the [last?] added icon, -1 if unsuccesful. + The index of the first added image, -1 if unsuccesful. - A bitmap to be added + The bitmap to be added. - The color acting as transparant color + The color acting as transparant color. - AddLazarusResource - load TBitmap from lazarus resources and add it + Loads a bitmap from a lazarus resources and adds it. - [?] + Index of the first added image. - [?] + The name of the Lazarus resource. - [?] + The mask color for transparent images, clNone for solid (opaque) images. - Change - send change notifications. + Send change notifications, if the list has changed and updates are not locked. Notifies all members of the ChangeLinkList, and calls the OnChange handler. - - Clear - removes all images from the list. + Removes all images from the list. - Initialize the list for image(s) with the given height and width - The Width and Height is reset with every[? first only?] insertion of a bitmap. - It may be useful, however, to initialize a list for the insertion of graphics other than bitmaps, - so that the images can be rendered as bitmaps of the intended width and height, before they are inserted. + Initialize the list for image(s) with the given height and width. + +

+ This constructor overrides the default initial size of the images (16x16 pixels). +

+

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 other than bitmaps, + so that the images can be rendered as bitmaps of the intended width and height, before they are inserted. +

+
@@ -501,7 +497,7 @@ Returns the index of the first added bitmap, or -1 if unsuccessful. - Delete the specified image(s) + Delete the specified image. @@ -531,16 +527,16 @@ Returns the index of the first added bitmap, or -1 if unsuccessful. The image index. - If False, draw the image disabled. + If False, draw the image disabled (dithered). - + [?] - + [?] - + [?] @@ -561,8 +557,8 @@ Returns the index of the first added bitmap, or -1 if unsuccessful. - GetHotSpot - returns the offset from the drawing[?] position to the image origin. - + Returns the offset from the drawing position to the image origin. + A HotSpot is used only in a TDragImageList, here it is (0,0). @@ -578,12 +574,18 @@ Returns the index of the first added bitmap, or -1 if unsuccessful. - Insert one or more images into the list at the index position. - The insterted bitmap can consist of multiple images, of the same width and height, which become accessible as distinct images in the ImageList. - -The height of the inserted images must match the ImageList height, else the ImageList content is replaced 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. - -If Mask is nil, the inserted images have no transparent parts. + Inserts one or more images into the list at the index position. + +

+ The inserted bitmap can consist of multiple images, of the same width and height, which become accessible as distinct images in the ImageList. +

+ The height of the inserted images must match the ImageList height, else the ImageList content is replaced 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. +

+ If Mask is nil, the inserted images have no transparent parts. + Use InsertMasked to insert bitmaps with a specific transparent color. +

+
@@ -612,7 +614,7 @@ If Mask is nil, the inserted images have no transparent parts. - InsertMasked - adds one or more transparent bitmaps to the list. + Adds one or more transparent bitmaps to the list. MaskColor is the RGB color of the transparent pixels. Every occurence of a MaskColor pixel will be converted into a transparent pixel. @@ -620,18 +622,18 @@ If Mask is nil, the inserted images have no transparent parts. - The index of the inserted image + The index of the inserted image. - The bitmap to be inserted + The bitmap to be inserted. - The color acting as transparant color + The color acting as transparant color. - Move an image from index CurIndex to NewIndex + Move an image from index CurIndex to NewIndex. @@ -666,24 +668,25 @@ If Mask is nil, the inserted images have no transparent parts. ReplaceMasked - replaces the indexed image with the image given. - Every pixel of MaskColor will be converted to transparent + Every pixel of MaskColor will be converted to transparent. + - the index of the replaceded image + The index of the replaced image. - A bitmap image + A bitmap image. - The color acting as transparant color + The color acting as transparant color. - Registers an object to get notified of a change of the imagelist + Registers an TChangeLink object to get notified of a change of the imagelist. @@ -705,50 +708,56 @@ If Mask is nil, the inserted images have no transparent parts. - AllocBy - the number of images in every allocated block. - + The length of the image list is increased in multiples of AllocBy images. Default is 4. + Other list types allow to set the list Capacity directly - not so for an ImageList. - BlendColor - the colour for a blend[???] + The color for used in blending (dithering) an image. - + - The background color for transparent parts. - + The background color to use for transparent parts. + +

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. +
[does this really apply? depending on the widgetset?] +

+
- Count - number of images in the list + The number of images in the list - DrawingStyle - focus, selected, normal or transparent + The default drawing style - focussed, selected, normal or transparent. - Height of the images in the list. - Writing clears the entire list. + The unique height of all images in the list. + Setting to an different value clears the entire list! - Width of all images in the list - Writing clears the entire list. + The unique width of all images in the list. + Setting to an different value clears the entire list! @@ -761,22 +770,24 @@ If Mask is nil, the inserted images have no transparent parts. - Masked - if True, a mask [what's this?] is applied to the bitmap. - + True when mask images are stored with every image (unused!). + This property exists only for Delphi compatibility[?] - ShareImages - if True, images are allowed to be shared[???] - + True when this image list is shared. Unused! + This property exists only for Delphi compatibility. + True means that the imagelist widget is freed together with the ImageList[?] + - ImageType - an image or a mask - + Unused! + This property exists only for Delphi compatibility[?] @@ -784,7 +795,7 @@ If Mask is nil, the inserted images have no transparent parts. FillDescription - fills the description with the default info of the imagedata - the description to fill + the description to copy @@ -802,15 +813,17 @@ If Mask is nil, the inserted images have no transparent parts. how to copy + - Copies the image description and the data pointer + Exports the entire internal image (color array) and description. + - GetRawImage - primitive method for loading an image: you have to fill in all the description fields yourself + Exports an image as TRawImage. the index of the image to copy @@ -818,33 +831,40 @@ If Mask is nil, the inserted images have no transparent parts. the target bitmap + Reference to the imagelist + - CheckIndex - method for checking whether the indexed item is supposed to be inserted (default condition is False) + Assures that Index is not out of the list bound. + + Raises an EInvalidOperation exception when the index is out of bounds. + - + The index to check. - + Set to True when the index is used for insertion (default is False). + - GetReferenceHandle - returns a handle for the reference + Returns the Handle of the Reference. - + The widget handle. + Instructs the widgtset to create an imagelist. - Handle to created imagelist + Reference object for the created widget. ignored @@ -870,10 +890,10 @@ If Mask is nil, the inserted images have no transparent parts. This is an expensive operation, since both imagelists are written into memory streams, which then are compared bytewise. - + True when the image lists are equal. - + The object (ImageList) to compare with.