using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.IO;
namespace Vestris.ResourceLib
{
///
/// This structure depicts the organization of data in a hardware-independent icon resource.
///
public class IconDirectoryResource : DirectoryResource
{
///
/// A hardware-independent icon resource.
///
/// Module handle.
/// Resource ID.
/// Resource type.
/// Resource name.
/// Language ID.
/// Resource size.
internal IconDirectoryResource(IntPtr hModule, IntPtr hResource, ResourceId type, ResourceId name, UInt16 language, int size)
: base(hModule, hResource, type, name, language, size)
{
}
///
/// A new hardware-independent icon resource.
///
public IconDirectoryResource()
: base(Kernel32.ResourceTypes.RT_GROUP_ICON)
{
}
///
/// A new collection of icons that can be embedded into an executable file.
///
public IconDirectoryResource(IconFile iconFile)
: base(Kernel32.ResourceTypes.RT_GROUP_ICON)
{
for (UInt16 id = 0; id < iconFile.Icons.Count; id++)
{
IconResource iconResource = new IconResource(
iconFile.Icons[id], new ResourceId(id), _language);
Icons.Add(iconResource);
}
}
}
}