Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.6 KiB

  1. //
  2. // LoadImag.h
  3. //
  4. // routines to load and decompress a graphics file using a MS Office
  5. // graphic import filter.
  6. //
  7. #ifndef _LOADIMAG_H_
  8. #define _LOADIMAG_H_
  9. class CGdiplusInit : public Gdiplus::GdiplusStartupOutput
  10. {
  11. public:
  12. CGdiplusInit(
  13. Gdiplus::DebugEventProc debugEventCallback = 0,
  14. BOOL suppressBackgroundThread = FALSE,
  15. BOOL suppressExternalCodecs = FALSE
  16. );
  17. ~CGdiplusInit();
  18. private:
  19. static
  20. Gdiplus::Status
  21. GdiplusSafeStartup(
  22. ULONG_PTR *token,
  23. const Gdiplus::GdiplusStartupInput *input,
  24. Gdiplus::GdiplusStartupOutput *output
  25. );
  26. public:
  27. Gdiplus::Status StartupStatus;
  28. private:
  29. ULONG_PTR Token;
  30. };
  31. #define GIF_SUPPORT
  32. #ifdef __cplusplus
  33. extern "C" { /* Assume C declarations for C++ */
  34. #endif /* __cplusplus */
  35. //
  36. // GetClsidOfEncoder
  37. //
  38. BOOL GetClsidOfEncoder(REFGUID guidFormatID, CLSID *pClsid);
  39. //
  40. // LoadDIBFromFile
  41. //
  42. // load a image file using a image import filter.
  43. //
  44. HGLOBAL LoadDIBFromFile(LPCTSTR szFileName, GUID *pguidFltTypeUsed);
  45. //
  46. // GetFilterInfo
  47. //
  48. BOOL GetInstalledFilters (BOOL bOpenFileDialog,int i,
  49. LPTSTR szName, UINT cbName,
  50. LPTSTR szExt, UINT cbExt,
  51. LPTSTR szHandler, UINT cbHandler,
  52. BOOL& bImageAPI);
  53. //
  54. // Get GDI+ codecs
  55. //
  56. BOOL GetGdiplusDecoders(UINT *pnCodecs, Gdiplus::ImageCodecInfo **ppCodecs);
  57. BOOL GetGdiplusEncoders(UINT *pnCodecs, Gdiplus::ImageCodecInfo **ppCodecs);
  58. #ifdef __cplusplus
  59. }
  60. #endif /* __cplusplus */
  61. #endif //_LOADIMAG_H_