#if THUMBNAIL
using System.Drawing;
using System.IO;
namespace ShellExtensions
{
///
/// This interface exposes the function for initializing the
/// Thumbnail Provider with a .
/// If this interfaces is not used, then the handler must opt out of process isolation.
/// This interface can be used in conjunction with the other intialization interfaces,
/// but only 1 will be accessed according to the priorities preset by the Windows Shell:
///
///
///
///
public interface IThumbnailFromStream
{
///
/// Provides the to the item from which a thumbnail should be created.
/// Only 32bpp bitmaps support adornments.
/// While 24bpp bitmaps will be displayed they will not display adornments.
/// Additional guidelines for developing thumbnails can be found at http://msdn.microsoft.com/en-us/library/cc144115(v=VS.85).aspx
///
///
/// Stream to initialize the thumbnail
/// Square side dimension in which the thumbnail should fit; the thumbnail will be scaled otherwise.
///
Bitmap ConstructBitmap(Stream stream, int sideSize);
}
///
/// This interface exposes the function for initializing the
/// Thumbnail Provider with file information.
/// This interface can be used in conjunction with the other intialization interfaces,
/// but only 1 will be accessed according to the priorities preset by the Windows Shell:
///
///
///
///
public interface IThumbnailFromFile
{
///
/// Provides the to the item from which a thumbnail should be created.
/// Only 32bpp bitmaps support adornments.
/// While 24bpp bitmaps will be displayed they will not display adornments.
/// Additional guidelines for developing thumbnails can be found at http://msdn.microsoft.com/en-us/library/cc144115(v=VS.85).aspx
///
///
/// FileInfo to initialize the thumbnail
/// Square side dimension in which the thumbnail should fit; the thumbnail will be scaled otherwise.
/// Generated thumbnail
Bitmap ConstructBitmap(FileInfo info, int sideSize);
}
}
#endif