struct CCL::IFileIcons

Overview

#include <ifileicons.h>

struct IFileIcons: public CCL::IUnknown
{
    // enums

    enum FileIconFlags;
    enum VolumeExtraTypes;

    // methods

    virtual IImage*CCL_API createIcon (UrlRef url, int flags = 0) = 0;
    virtual IImage*CCL_API createIcon (const FileType& fileType, int flags = 0) = 0;
    virtual IImage*CCL_API createIcon (StringRef fileName, int flags = 0) = 0;
    virtual IImage*CCL_API createVolumeIcon (int type, int flags = 0) = 0;
    virtual void CCL_API setFolderIcon (UrlRef path, IImage* icon) = 0;
    virtual IImage*CCL_API getDefaultFolderIcon (tbool open = false) const = 0;

    virtual IImage*CCL_API createFolderPreview (
        IImage* folderIcon,
        const IContainer& content,
        int size = 0
    ) const = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Methods

virtual IImage*CCL_API createIcon (UrlRef url, int flags = 0) = 0

Create icon for given URL, must be released by caller.

virtual IImage*CCL_API createIcon (const FileType& fileType, int flags = 0) = 0

Create icon for given file type, must be released by caller.

virtual IImage*CCL_API createIcon (StringRef fileName, int flags = 0) = 0

Create icon for given file name, must be released by caller.

virtual IImage*CCL_API createVolumeIcon (int type, int flags = 0) = 0

Create icon for volume (see VolumeInfo::Type and VolumeExtraTypes), must be released by caller.

virtual void CCL_API setFolderIcon (UrlRef path, IImage* icon) = 0

Assign special icon for given folder location (null to reset).

virtual IImage*CCL_API getDefaultFolderIcon (tbool open = false) const = 0

Get default folder icon.

virtual IImage*CCL_API createFolderPreview (
    IImage* folderIcon,
    const IContainer& content,
    int size = 0
) const = 0

Create an icon copy with content preview.