libimgplayer.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #pragma once
  2. #ifdef LIBIMGPLAYER_EXPORTS
  3. #define LIBIMGPLAYER_API __declspec(dllexport)
  4. #else
  5. #define LIBIMGPLAYER_API __declspec(dllimport)
  6. #endif
  7. #ifndef MAX_FILECOUNT
  8. #define MAX_FILECOUNT 32
  9. #endif // !MAX_FILECOUNT
  10. struct CImgPlayConfig
  11. {
  12. bool bFullScreen; // 是否全屏
  13. bool bPrimMonitor; // 是否主屏显示
  14. int nWndX; // 窗口X坐标
  15. int nWndY; // 窗口Y坐标
  16. int nWndWidth; // 窗口宽度
  17. int nWndHeight; // 窗口高度
  18. int nFileCnt; // 文件个数
  19. int nPlayCnt; // 播放次数
  20. int nPlayInterval; // 播放时间间隔
  21. char strRootPath[MAX_PATH]; // 根目录
  22. char strFileNames[MAX_FILECOUNT][MAX_PATH]; // 文件名数组
  23. };
  24. struct __declspec(novtable) CImgHostApi
  25. {
  26. virtual BOOL LoadPlayConfig(CImgPlayConfig &config, int CfgInx = 0) = 0;
  27. virtual void ImgDebug(const char *fmt, ...) = 0;
  28. };
  29. class libimgplayer_impl; // 桥接
  30. class LIBIMGPLAYER_API Clibimgplayer
  31. {
  32. public:
  33. Clibimgplayer(CImgHostApi *pHostApi);
  34. ~Clibimgplayer();
  35. VOID Play(int nCfgInx, int nWndX, int nWndY, int nWndWidth, int nWndHeight);
  36. VOID PlayMedia(CImgPlayConfig &config);
  37. BOOL checkIsStop();
  38. BOOL checkIsPlay(HANDLE &curThread);
  39. VOID Close();
  40. private:
  41. libimgplayer_impl *m_pImpl;
  42. };