MOVIE.H 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //
  2. // Copyright 2020 Electronic Arts Inc.
  3. //
  4. // TiberianDawn.DLL and RedAlert.dll and corresponding source code is free
  5. // software: you can redistribute it and/or modify it under the terms of
  6. // the GNU General Public License as published by the Free Software Foundation,
  7. // either version 3 of the License, or (at your option) any later version.
  8. // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed
  9. // in the hope that it will be useful, but with permitted additional restrictions
  10. // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT
  11. // distributed with this program. You should have received a copy of the
  12. // GNU General Public License along with permitted additional restrictions
  13. // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
  14. #ifndef _MPGMOVIE_H_
  15. #define _MPGMOVIE_H_
  16. /****************************************************************************
  17. *
  18. * FILE
  19. * MpgMovie.h
  20. *
  21. * DESCRIPTION
  22. * Movie playback using DirectShow Multimedia streaming and DirectDraw
  23. *
  24. * PROGRAMMER
  25. * Denzil E. Long, Jr.
  26. *
  27. * DATE
  28. * May 27, 1998
  29. *
  30. ****************************************************************************/
  31. #include <windows.h>
  32. #include <ddraw.h>
  33. #ifdef MPGEXPORT
  34. #define DLLCALL __declspec(dllexport)
  35. #else
  36. #define DLLCALL __declspec(dllimport)
  37. #endif
  38. typedef enum
  39. {
  40. MPGCMD_ERROR = -1,
  41. MPGCMD_INIT = 0,
  42. MPGCMD_CLEANUP,
  43. MPGCMD_PALETTE,
  44. MPGCMD_UPDATE
  45. } MPG_CMD;
  46. typedef enum
  47. {
  48. MPGRES_QUIT = -1,
  49. MPGRES_CONTINUE = 0,
  50. MPGRES_LOSTFOCUS,
  51. } MPG_RESPONSE;
  52. typedef MPG_RESPONSE (far __stdcall *LPMPGCALLBACK)(MPG_CMD cmd, LPVOID data, LPVOID user);
  53. extern "C"
  54. {
  55. DLLCALL void __stdcall MpgPlay(const char* name, IDirectDraw* dd,
  56. IDirectDrawSurface* surface, RECT* dstRect);
  57. DLLCALL void __stdcall MpgPause(void);
  58. DLLCALL void __stdcall MpgResume(void);
  59. DLLCALL void __stdcall MpgSetCallback(LPMPGCALLBACK callback, LPVOID user);
  60. }
  61. #endif // _MPGMOVIE_H_