windows-nt/Source/XPSP1/NT/shell/osshell/accesory/mspaint/loadimag.h
2020-09-26 16:20:57 +08:00

80 lines
1.6 KiB
C++

//
// LoadImag.h
//
// routines to load and decompress a graphics file using a MS Office
// graphic import filter.
//
#ifndef _LOADIMAG_H_
#define _LOADIMAG_H_
class CGdiplusInit : public Gdiplus::GdiplusStartupOutput
{
public:
CGdiplusInit(
Gdiplus::DebugEventProc debugEventCallback = 0,
BOOL suppressBackgroundThread = FALSE,
BOOL suppressExternalCodecs = FALSE
);
~CGdiplusInit();
private:
static
Gdiplus::Status
GdiplusSafeStartup(
ULONG_PTR *token,
const Gdiplus::GdiplusStartupInput *input,
Gdiplus::GdiplusStartupOutput *output
);
public:
Gdiplus::Status StartupStatus;
private:
ULONG_PTR Token;
};
#define GIF_SUPPORT
#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */
//
// GetClsidOfEncoder
//
BOOL GetClsidOfEncoder(REFGUID guidFormatID, CLSID *pClsid);
//
// LoadDIBFromFile
//
// load a image file using a image import filter.
//
HGLOBAL LoadDIBFromFile(LPCTSTR szFileName, GUID *pguidFltTypeUsed);
//
// GetFilterInfo
//
BOOL GetInstalledFilters (BOOL bOpenFileDialog,int i,
LPTSTR szName, UINT cbName,
LPTSTR szExt, UINT cbExt,
LPTSTR szHandler, UINT cbHandler,
BOOL& bImageAPI);
//
// Get GDI+ codecs
//
BOOL GetGdiplusDecoders(UINT *pnCodecs, Gdiplus::ImageCodecInfo **ppCodecs);
BOOL GetGdiplusEncoders(UINT *pnCodecs, Gdiplus::ImageCodecInfo **ppCodecs);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif //_LOADIMAG_H_