text.h
Upload User: aya088
Upload Date: 2021-10-23
Package Size: 42k
Code Size: 3k
Category:

DirextX

Development Platform:

Visual C++

  1. //------------------------------------------------------------------------------
  2. // File: Text.h
  3. //
  4. // Desc: DirectShow sample code - header file for VMR Text sample
  5. //
  6. // Copyright (c) Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8. // VMR9 Headers
  9. #include <d3d9.h>
  10. #include <vmr9.h>
  11. //
  12. // Function prototypes
  13. //
  14. HRESULT InitPlayerWindow(void);
  15. HRESULT InitVideoWindow(int nMultiplier, int nDivider);
  16. HRESULT HandleGraphEvent(void);
  17. BOOL GetClipFileName(LPTSTR szName);
  18. BOOL CheckVideoVisibility(void);
  19. void MoveVideoWindow(void);
  20. void CloseInterfaces(void);
  21. void OpenClip(void);
  22. void CloseClip(void);
  23. void GetFilename(TCHAR *pszFull, TCHAR *pszFile);
  24. void Msg(TCHAR *szFormat, ...);
  25. HRESULT BlendApplicationImage(HWND hwndApp);
  26. HRESULT InitializeWindowlessVMR(IBaseFilter **ppVmr9);
  27. void OnPaint(HWND hwnd);
  28. HRESULT AddGraphToRot(IUnknown *pUnkGraph, DWORD *pdwRegister);
  29. void RemoveGraphFromRot(DWORD pdwRegister);
  30. //
  31. // Constants
  32. //
  33. // File filter for OpenFile dialog
  34. #define FILE_FILTER_TEXT 
  35.     TEXT("Video Files (*.asf; *.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v; *.wmv)*.asf; *.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v; *.wmv")
  36. // Begin default media search at root directory
  37. #define DEFAULT_MEDIA_PATH  TEXT("\")
  38. // Defaults used with audio-only files
  39. #define DEFAULT_PLAYER_WIDTH    240
  40. #define DEFAULT_PLAYER_HEIGHT   120
  41. #define DEFAULT_VIDEO_WIDTH     320
  42. #define DEFAULT_VIDEO_HEIGHT    240
  43. #define MINIMUM_VIDEO_WIDTH     200
  44. #define MINIMUM_VIDEO_HEIGHT    120
  45. #define APPLICATIONNAME TEXT("VMR9 Text")
  46. #define CLASSNAME       TEXT("VMR9Text")
  47. #define WM_GRAPHNOTIFY  WM_USER+13
  48. //
  49. // Global data
  50. //
  51. extern HWND      ghApp;
  52. extern HMENU     ghMenu;
  53. extern HINSTANCE ghInst;
  54. extern TCHAR     g_szFileName[MAX_PATH];
  55. extern DWORD     g_dwGraphRegister;
  56. // DirectShow interfaces
  57. extern IGraphBuilder *pGB;
  58. extern IMediaControl *pMC;
  59. extern IVMRWindowlessControl9 *pWC;
  60. extern IMediaControl *pMC;
  61. extern IMediaEventEx *pME;
  62. extern IMediaSeeking *pMS;
  63. //
  64. // Macros
  65. //
  66. #define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }
  67. #define JIF(x) if (FAILED(hr=(x))) 
  68.     {Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("n"), hr); return hr;}
  69. #define LIF(x) if (FAILED(hr=(x))) 
  70.     {Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("n"), hr);}
  71. //
  72. // Resource constants
  73. //
  74. #define IDC_STATIC                      -1
  75. #define IDI_TEXT                        100
  76. #define IDR_MENU                        101
  77. #define IDD_HELP_ABOUT                  200
  78. #define ID_FILE_OPENCLIP                301
  79. #define ID_FILE_EXIT                    302
  80. #define ID_FILE_CLOSE                   303
  81. #define ID_FILE_INITCLIP                304
  82. #define ID_SET_FONT                     310
  83. #define ID_HELP_ABOUT                   320