The New Palette Mapped Icons ============================ The icon.library has been enhanced to support palette mapped icons. The icon file format has been extended in a backwards compatible way to support palette mapped images as well as old-style images. This means that V44 icons can contain TWO image sets: the old-style planar images (for normal and selected states) and the new style palette mapped images. New API calls are provided to retrieve the V44 image data. The GetDiskObject(), GetDiskObjectNew() and PutDiskObject() calls are now declared obsolete: they are still supported for backwards compatiblity only and therefore they don't provide a way to access the new palette mapped images(1). Applications which manipulate icons should be adapted to use the new GetIconTagList() function. This new function is a superset of GetDiskObject(): it still returns a pointer to a pointer to a struct DiskObject, but it provides greater control by means of several taglist parameters. The defaults are to load and automatically remap the new style images embedded into the icon. The ICONGETA_Screen tag specifies which Screen the icon is to be displayed on. See the GetIconTagList() AutoDoc for more information. The new icon.library/IconControlA() call allows the applications to retrieve and change any of the extended icon attributes, including the palette and imagery. ---------- Footnotes ---------- (1) Actually, this is not completely true: the struct DiskObject really contains the new images in its private data. The only way to retrieve it is by calling DupDiskObject() and passing the tag ICONDUPA_ActivateImageData. This trick is used by the Workbench as a workaround to display the new style image for AppIcons passed by non-V44-aware applications.