home *** CD-ROM | disk | FTP | other *** search
- //------------------------------------------------------------------------------
- // File: app.h
- //
- // Desc: DirectShow sample code
- // - Main header file for VMRPlayer sample
- //
- // Copyright (c) 1994 - 2001, Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
-
- /* -------------------------------------------------------------------------
- ** Function prototypes
- ** -------------------------------------------------------------------------
- */
- int
- DoMainLoop(
- void
- );
-
- BOOL
- InitApplication(
- HINSTANCE hInstance
- );
-
- BOOL
- InitInstance(
- HINSTANCE hInstance,
- int nCmdShow
- );
-
- BOOL
- LoadWindowPos(
- LPRECT lprc
- );
-
- BOOL
- SaveWindowPos(
- HWND hwnd
- );
-
- void
- PatB(
- HDC hdc,
- int x,
- int y,
- int dx,
- int dy,
- DWORD rgb
- );
-
- void
- UpdateMpegMovieRect(
- void
- );
-
- void
- GetAdjustedClientRect(
- RECT *prc
- );
-
- BOOL
- DrawStats(
- HDC hdc
- );
-
- void
- CalcMovieRect(
- LPRECT lprc
- );
-
- LPCTSTR
- IdStr(
- int idResource
- );
-
- void
- UpdateSystemColors(
- void
- );
-
- void
- SetDurationLength(
- REFTIME rt
- );
-
- void
- SetCurrentPosition(
- REFTIME rt
- );
-
- TCHAR *
- FormatRefTime(
- TCHAR *sz,
- REFTIME rt
- );
-
- void
- DoMpegVideoPropertyPage();
-
- void
- DoMpegAudioPropertyPage();
-
- /* -------------------------------------------------------------------------
- ** Registry routines
- ** -------------------------------------------------------------------------
- */
- int
- ProfileIntIn(
- const TCHAR *szKey,
- int iDefault
- );
-
- BOOL
- ProfileIntOut(
- const TCHAR *szKey,
- int iDefault
- );
-
- void
- ProfileStringOut (
- LPTSTR szKey,
- LPTSTR sz
- );
-
- UINT
- ProfileStringIn (
- LPTSTR szKey,
- LPTSTR szDef,
- LPTSTR sz,
- DWORD cb
- );
-
- BOOL
- LoadWindowPos(
- LPRECT lprc
- );
-
- BOOL
- SaveWindowPos(
- HWND hwnd
- );
-
- HKEY
- GetAppKey(
- BOOL fCreate
- );
-
-
- /* -------------------------------------------------------------------------
- ** Message crackers
- ** -------------------------------------------------------------------------
- */
- /* void Cls_OnUser(HWND hwnd, WPARAM wParam, LPARAM lParam ) */
- #define HANDLE_WM_USER(hwnd, wParam, lParam, fn) \
- ((fn)(hwnd, wParam, lParam), 0L)
-
- /* LRESULT Cls_OnNotify(HWND hwnd, int idFrom, NMHDR FAR* pnmhdr); */
- #ifndef HANDLE_WM_NOTIFY
- #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
- (fn)((hwnd), (int)(wParam), (NMHDR FAR*)(lParam))
- #endif
-
-
-
- /* -------------------------------------------------------------------------
- ** VideoCd window class prototypes
- ** -------------------------------------------------------------------------
- */
- extern "C" LRESULT CALLBACK
- VideoCdWndProc(
- HWND hwnd,
- UINT message,
- WPARAM wParam,
- LPARAM lParam
- );
-
- void
- VideoCd_OnClose(
- HWND hwnd
- );
-
- BOOL
- VideoCd_OnQueryEndSession(
- HWND hwnd
- );
-
- void
- VideoCd_OnDestroy(
- HWND hwnd
- );
-
- void
- VideoCd_OnCommand(
- HWND hwnd,
- int id,
- HWND hwndCtl,
- UINT codeNotify
- );
-
- void
- VideoCd_OnPaint(
- HWND hwnd
- );
-
- void
- VideoCd_OnTimer(
- HWND hwnd,
- UINT id
- );
-
- BOOL
- VideoCd_OnCreate(
- HWND hwnd,
- LPCREATESTRUCT lpCreateStruct
- );
-
- void
- VideoCd_OnSize(
- HWND hwnd,
- UINT state,
- int cx,
- int cy
- );
-
- void
- VideoCd_OnActivate(
- HWND hwnd,
- WPARAM wParam,
- LPARAM lParam
- );
-
- void
- VideoCd_OnHScroll(
- HWND hwnd,
- HWND hwndCtl,
- UINT code,
- int pos
- );
-
- void
- VideoCd_OnUser(
- HWND hwnd,
- WPARAM wParam,
- LPARAM lParam
- );
-
- void
- VideoCd_OnSysColorChange(
- HWND hwnd
- );
-
- void
- VideoCd_OnMenuSelect(
- HWND hwnd,
- HMENU hmenu,
- int item,
- HMENU hmenuPopup,
- UINT flags
- );
-
- void
- VideoCd_OnInitMenuPopup(
- HWND hwnd,
- HMENU hMenu,
- UINT item,
- BOOL fSystemMenu
- );
-
- #ifdef WM_NOTIFY
- LRESULT
- VideoCd_OnNotify(
- HWND hwnd,
- int idFrom,
- NMHDR FAR* pnmhdr
- );
- #endif
-
-
- void
- VideoCd_OnGraphNotify(
- void
- );
-
- void
- VideoCd_OnDropFiles(
- HWND hwnd,
- HDROP hdrop);
-
- void
- SetPlayButtonsEnableState(
- void
- );
-
-
-
- /* -------------------------------------------------------------------------
- ** Command processing functions
- ** -------------------------------------------------------------------------
- */
-
- BOOL
- VcdPlyerCaptureImage(
- LPCSTR szFile
- );
-
- BOOL
- VcdPlyerDisplayCapturedImage(
- LPCSTR szFile
- );
-
- BOOL
- VcdPlayerOpenCmd(
- int i
- );
-
- BOOL
- VcdPlayerCloseCmd(
- void
- );
-
- BOOL
- VcdPlayerPlayCmd(
- void
- );
-
- BOOL
- VcdPlayerStopCmd(
- void
- );
-
- BOOL
- VcdPlayerRewindCmd(
- void
- );
-
- BOOL
- VcdPlayerPauseCmd(
- void
- );
-
- BOOL
- VcdPlayerStepCmd(
- void
- );
-
- void
- VcdPlayerSeekCmd(
- REFTIME rtSeekBy
- );
-
- void
- ProcessOpen(
- TCHAR *achFileName,
- BOOL bPlay = FALSE
- );
-
- int
- VcdPlayerChangeTimeFormat(
- int id
- );
-
- BOOL CALLBACK TransDlgProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
- BOOL CALLBACK AppImgDlgProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
- LRESULT CALLBACK AboutDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
-
-
- /* -------------------------------------------------------------------------
- ** Recent filename stuff
- ** -------------------------------------------------------------------------
- */
- typedef TCHAR RECENTFILES[MAX_PATH];
- #define MAX_RECENT_FILES 10
- #define ID_RECENT_FILE_BASE 500
-
- int
- GetRecentFiles(
- int LastCount
- );
-
- int
- SetRecentFiles(
- TCHAR *FileName,
- int iCount
- );
-
- #define CAPTURED_IMAGE_NAME TEXT("VMRImage.bmp\0")
-
- /* -------------------------------------------------------------------------
- ** Global Variables
- ** -------------------------------------------------------------------------
- */
- extern int cxMovie;
- extern int cyMovie;
- extern HWND hwndApp;
- extern HWND g_hwndStatusbar;
-
- extern int cx;
- extern int cy;
- extern int xOffset;
- extern int yOffset;
- extern TCHAR g_achFileName[];
- extern OPENFILENAME ofn;
- extern DWORD g_State;
- extern int nRecentFiles;
- extern int g_TimeFormat;
- extern LONG lMovieOrgX, lMovieOrgY;
- extern BOOL g_bSecondFileLoaded;
- extern RECENTFILES aRecentFiles[MAX_RECENT_FILES];
-
- extern FLOAT g_xPos, g_yPos, g_xSize, g_ySize, g_Alpha;
-
- /* -------------------------------------------------------------------------
- ** Constants
- ** -------------------------------------------------------------------------
- */
- #define LEFT_MARGIN 0
-
-
- /* -------------------------------------------------------------------------
- ** Video CD Player states
- **
- ** These are bit flags
- ** -------------------------------------------------------------------------
- */
-
- #define VCD_PLAYING 0x0001
- #define VCD_STOPPED 0x0002
- #define VCD_PAUSED 0x0004
- #define VCD_SKIP_F 0x0008
- #define VCD_SKIP_B 0x0010
- #define VCD_FF 0x0020
- #define VCD_RW 0x0040
- #define VCD_SEEKING (VCD_FF | VCD_RW)
- #define VCD_LOADED 0x0080
- #define VCD_NO_CD 0x0100
- #define VCD_DATA_CD_LOADED 0x0200
- #define VCD_EDITING 0x0400
- #define VCD_PAUSED_AND_MOVED 0x0800
- #define VCD_PLAY_PENDING 0x1000
- #define VCD_WAS_PLAYING 0x2000
- #define VCD_IN_USE 0x4000
- #define VCD_STEPPING 0x8000
-
- enum {PerformanceTimer = 32, StatusTimer = 33};
-