home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Multimedia Jumpstart 1.1a / CD_ROM.BIN / develpmt / source / hotspot / vbx / hotspot.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-03  |  4.4 KB  |  144 lines

  1. #ifndef VB_VERSION
  2.   #include <vbapi.h>
  3. #define VBAPI FAR PASCAL
  4. #endif  
  5.  
  6.  
  7. typedef struct _HOTSPOT
  8. {
  9.     struct _HOTSPOT FAR *pNext;
  10.     struct _HOTSPOT FAR *pPrev;
  11.     
  12.     RECT rc;
  13.     LPSTR pszCommand;
  14.     LPSTR pszHotspotID;
  15.     DWORD BeginFrame;
  16.     DWORD EndFrame;
  17.     int OnClick;            
  18.     int ToFrame;                // if OnClick == ID_JUMP, ToFrame should be set
  19.     
  20. } HOTSPOT, FAR *PHOTSPOT;
  21.  
  22. typedef struct _MOVIEINFO       // associate this with a window
  23. {
  24.     PHOTSPOT pHotspotList;
  25.     
  26.     WORD wMCIDeviceID;
  27.     HWND hwndMovie;
  28.     HWND hwndParent;            // set this before OPEN
  29.     RECT rcMovie;
  30.     BOOL fPlaying;
  31.     BOOL fMovieOpen;
  32.     
  33.     DWORD dwMovieLength;
  34.     DWORD dwCurrentFrame;
  35.     FARPROC     lpfnOldProc;                // far ptr to old proc before subclass
  36.     FARPROC     lpfnhspAVICallback;
  37.     
  38.     char szAVIFileName[129];
  39.     char szHotFileName[129];    
  40.     
  41.     HCTL hctl;
  42.     BOOL bLoading;
  43.     
  44.     BOOL bShowHot;
  45.     LONG lLastSeek;
  46.     
  47. } MOVIEINFO, FAR *PMOVIEINFO;
  48.  
  49. #ifdef VB_VERSION
  50. typedef struct _CTLINFO         // only used for passing info, not storing!
  51. {                               // use MOVIEINFO for storage.
  52.  
  53.     PMOVIEINFO pMovieInfo;          // currently unused...
  54.     HSZ hszAVIFile;
  55.     HSZ hszHotFile;
  56.     SHORT fPlay;
  57.     LONG  lFrame;
  58.     LONG  lLength;
  59.     ENUM  nShowHot;
  60. } CTLINFO, FAR *PCTLINFO;
  61. #endif
  62.  
  63. HANDLE __hMem;
  64.  
  65. #define ALLOCATE(s) ((__hMem = GlobalAlloc(GHND, (DWORD)(s))) ? GlobalLock(__hMem) : NULL)
  66. #define FREE(p) (GlobalUnlock((HANDLE)HIWORD(p)),GlobalFree((HANDLE)HIWORD(p)))
  67. #define SIZE(p) (GlobalSize((HANDLE)HIWORD(p)))
  68.  
  69. #define USHORT WORD
  70.  
  71. LONG CALLBACK LDLLHandler(UINT msg, LONG lParam1, LONG lParam2);
  72. //BOOL CALLBACK LibMain(HANDLE hModule, int cbHeap, LPSTR lpchCmdLine);
  73. LPSTR FindToken(LPSTR psz, char c);
  74. int StrToInt(LPSTR lpstr);
  75. BOOL InitHotspots(PMOVIEINFO pMovieInfo, LPSTR szHotFile);
  76. void DeleteHotspot(PMOVIEINFO pMovieInfo, PHOTSPOT pHotspot);
  77. void DeleteHotspotList(PMOVIEINFO pMovieInfo);
  78. void AddHotspot(PMOVIEINFO pMovieInfo, PHOTSPOT pHotspot);
  79. #ifdef VIEWER
  80.  LONG CALLBACK __export hspPlayAVI(HWND hwnd, LPSTR  szAVIFile, LPSTR szHotFile);
  81. #endif
  82. #ifdef AVIHAPP
  83.  LONG CALLBACK __export hspPlayAVI(HWND hwnd, LPSTR szAVIFile, LPSTR szHotFile, FARPROC);
  84. #endif
  85. LONG CALLBACK __export SbClsProc (HWND hwnd, USHORT msg, USHORT wp, LONG lp);
  86.  
  87. ///// avi.c --
  88. BOOL initAVI(void);
  89. void termAVI(void);
  90.  
  91. ///// movie.c --
  92. void fileOpenMovie(PMOVIEINFO pMovieInfo, LPSTR szFilename, SHORT x, SHORT y);
  93. void fileCloseMovie(PMOVIEINFO pMovieInfo, BOOL bUpdate);
  94. VOID positionMovie(PMOVIEINFO pMovieInfo, SHORT x, SHORT y);
  95. void playMovie(PMOVIEINFO pMovieInfo, WORD wDirection);
  96. void seekMovie(PMOVIEINFO pMovieInfo, WORD wAction);
  97. void stepMovie(PMOVIEINFO pMovieInfo, HWND hWnd, WORD wDirection);
  98. DWORD GetMovieFrame(PMOVIEINFO pMovieInfo);
  99. DWORD GetMovieLength(PMOVIEINFO pMovieInfo);
  100. void setMovie(PMOVIEINFO pMovieInfo, DWORD dwFrame, HWND hCallback);
  101. int OnButtonDown(PMOVIEINFO pMovieInfo, USHORT msg, USHORT wp, LONG lp);
  102.  
  103. #ifdef DEBUG
  104.  
  105.     DWORD   __dwEval;
  106.     int __iDebugLevel;
  107.  
  108.     extern void SetDebugLevel(int i);
  109.     extern void __AssertMsg(LPSTR exp ,LPSTR file, int line);
  110.     extern void cdecl DbgOut(LPSTR lpFormat, ...);
  111.  
  112.     #define ASSERT(exp) \
  113.         ((exp) ? (void)0 : __AssertMsg((LPSTR)(#exp), (LPSTR)__FILE__, __LINE__))
  114.     #define EVAL(exp) \
  115.         (__dwEval=(DWORD)(exp), (__dwEval) ? (void)0 : __AssertMsg((LPSTR)(#exp), (LPSTR)__FILE__, __LINE__), __dwEval)
  116.  
  117.     #define dprintf                          DbgOut
  118.     #define dprintf1 if (__iDebugLevel >= 1) DbgOut
  119.     #define dprintf2 if (__iDebugLevel >= 2) DbgOut
  120.     #define dprintf3 if (__iDebugLevel >= 3) DbgOut
  121.     #define dprintf4 if (__iDebugLevel >= 4) DbgOut
  122.  
  123. #else // not DEBUG
  124.  
  125.     #define ASSERT(exp) 0
  126.     #define EVAL(exp) (exp)
  127.  
  128.     #define dprintf  if (0) ((int (*)(char *, ...)) 0)
  129.     #define dprintf1 if (0) ((int (*)(char *, ...)) 0)
  130.     #define dprintf2 if (0) ((int (*)(char *, ...)) 0)
  131.     #define dprintf3 if (0) ((int (*)(char *, ...)) 0)
  132.     #define dprintf4 if (0) ((int (*)(char *, ...)) 0)
  133.  
  134. #endif // DEBUG
  135.  
  136.  
  137.     
  138. #define ID_HOME     0
  139. #define ID_END      1
  140.  
  141. #define ID_CONTINUE                     1017        // defined in ..\avihed\resource.h
  142. #define ID_STOP                         1018        //
  143. #define ID_JUMP                         1019        //
  144.