MOVIE.H (1999B)
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 9 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed 10 // in the hope that it will be useful, but with permitted additional restrictions 11 // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT 12 // distributed with this program. You should have received a copy of the 13 // GNU General Public License along with permitted additional restrictions 14 // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection 15 16 #ifndef _MPGMOVIE_H_ 17 #define _MPGMOVIE_H_ 18 /**************************************************************************** 19 * 20 * FILE 21 * MpgMovie.h 22 * 23 * DESCRIPTION 24 * Movie playback using DirectShow Multimedia streaming and DirectDraw 25 * 26 * PROGRAMMER 27 * Denzil E. Long, Jr. 28 * 29 * DATE 30 * May 27, 1998 31 * 32 ****************************************************************************/ 33 34 #include <windows.h> 35 #include <ddraw.h> 36 37 #ifdef MPGEXPORT 38 #define DLLCALL __declspec(dllexport) 39 #else 40 #define DLLCALL __declspec(dllimport) 41 #endif 42 43 typedef enum 44 { 45 MPGCMD_ERROR = -1, 46 MPGCMD_INIT = 0, 47 MPGCMD_CLEANUP, 48 MPGCMD_PALETTE, 49 MPGCMD_UPDATE 50 } MPG_CMD; 51 52 typedef enum 53 { 54 MPGRES_QUIT = -1, 55 MPGRES_CONTINUE = 0, 56 MPGRES_LOSTFOCUS, 57 } MPG_RESPONSE; 58 59 typedef MPG_RESPONSE (far __stdcall *LPMPGCALLBACK)(MPG_CMD cmd, LPVOID data, LPVOID user); 60 61 extern "C" 62 { 63 DLLCALL void __stdcall MpgPlay(const char* name, IDirectDraw* dd, 64 IDirectDrawSurface* surface, RECT* dstRect); 65 DLLCALL void __stdcall MpgPause(void); 66 DLLCALL void __stdcall MpgResume(void); 67 DLLCALL void __stdcall MpgSetCallback(LPMPGCALLBACK callback, LPVOID user); 68 } 69 70 #endif // _MPGMOVIE_H_