DirectVobSubPropPage.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:6k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /* 
  2.  * Copyright (C) 2003-2005 Gabest
  3.  * http://www.gabest.org
  4.  *
  5.  *  This Program is free software; you can redistribute it and/or modify
  6.  *  it under the terms of the GNU General Public License as published by
  7.  *  the Free Software Foundation; either version 2, or (at your option)
  8.  *  any later version.
  9.  *   
  10.  *  This Program is distributed in the hope that it will be useful,
  11.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13.  *  GNU General Public License for more details.
  14.  *   
  15.  *  You should have received a copy of the GNU General Public License
  16.  *  along with GNU Make; see the file COPYING.  If not, write to
  17.  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 
  18.  *  http://www.gnu.org/copyleft/gpl.html
  19.  *
  20.  */
  21. #pragma once
  22. #include <afxcmn.h>
  23. #include "IDirectVobSub.h"
  24. class CDVSBasePPage : public CBasePropertyPage
  25. {
  26. public:
  27. // we have to override these to use external, resource-only dlls
  28. STDMETHODIMP GetPageInfo(LPPROPPAGEINFO pPageInfo);
  29. STDMETHODIMP Activate(HWND hwndParent, LPCRECT pRect, BOOL fModal);
  30. protected:
  31. CComQIPtr<IDirectVobSub2> m_pDirectVobSub;
  32. virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) {return(false);}
  33. virtual void UpdateObjectData(bool fSave) {}
  34. virtual void UpdateControlData(bool fSave) {}
  35. protected:
  36.     CDVSBasePPage(TCHAR* pName, LPUNKNOWN lpunk, int DialogId, int TitleId);
  37. bool m_fDisableInstantUpdate;
  38. private:
  39.     BOOL m_bIsInitialized;
  40.     HRESULT OnConnect(IUnknown* pUnknown), OnDisconnect(), OnActivate(), OnDeactivate(), OnApplyChanges();
  41. BOOL OnReceiveMessage(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  42. private:
  43. bool m_fAttached;
  44. void AttachControls(), DetachControls();
  45. CMap<UINT, UINT&, CWnd*, CWnd*> m_controls;
  46. protected:
  47. void BindControl(UINT id, CWnd& control);
  48. };
  49. [uuid("60765CF5-01C2-4ee7-A44B-C791CF25FEA0")]
  50. class CDVSMainPPage : public CDVSBasePPage
  51. {
  52. void FreeLangs(), AllocLangs(int nLangs);
  53. WCHAR m_fn[MAX_PATH];
  54. int m_iSelectedLanguage, m_nLangs;
  55. WCHAR** m_ppLangs;
  56. bool m_fOverridePlacement;
  57. int m_PlacementXperc, m_PlacementYperc;
  58. STSStyle m_defStyle;
  59. bool m_fOnlyShowForcedVobSubs;
  60. CEdit m_fnedit;
  61. CComboBox m_langs;
  62. CButton m_oplacement;
  63. CSpinButtonCtrl m_subposx, m_subposy;
  64. CButton m_font, m_forcedsubs;
  65. protected:
  66.     virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  67. virtual void UpdateControlData(bool fSave);
  68. virtual void UpdateObjectData(bool fSave);
  69. public:
  70.     CDVSMainPPage(LPUNKNOWN lpunk, HRESULT* phr);
  71. virtual ~CDVSMainPPage();
  72. };
  73. [uuid("0180E49C-13BF-46db-9AFD-9F52292E1C22")]
  74. class CDVSGeneralPPage : public CDVSBasePPage
  75. {
  76. int m_HorExt, m_VerExt, m_ResX2, m_ResX2minw, m_ResX2minh;
  77. int m_LoadLevel;
  78. bool m_fExternalLoad, m_fWebLoad, m_fEmbeddedLoad;
  79. CComboBox m_verext;
  80. CButton m_mod32fix;
  81. CComboBox m_resx2;
  82. CSpinButtonCtrl m_resx2w, m_resx2h;
  83. CComboBox m_load;
  84. CButton m_extload, m_webload, m_embload;
  85. protected:
  86.     virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  87. virtual void UpdateControlData(bool fSave);
  88. virtual void UpdateObjectData(bool fSave);
  89. public:
  90.     CDVSGeneralPPage(LPUNKNOWN lpunk, HRESULT* phr);
  91. };
  92. [uuid("A8B25C0E-0894-4531-B668-AB1599FAF7F6")]
  93. class CDVSMiscPPage : public CDVSBasePPage
  94. {
  95. bool m_fFlipPicture, m_fFlipSubtitles, m_fHideSubtitles, m_fOSD, m_fDoPreBuffering, m_fReloaderDisabled, m_fSaveFullPath;
  96. CButton m_flippic, m_flipsub, m_hidesub, m_showosd, m_prebuff, m_autoreload, m_savefullpath, m_instupd;
  97. protected:
  98.     virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  99. virtual void UpdateControlData(bool fSave);
  100. virtual void UpdateObjectData(bool fSave);
  101. public:
  102.     CDVSMiscPPage(LPUNKNOWN lpunk, HRESULT* phr);
  103. };
  104. [uuid("ACE4747B-35BD-4e97-9DD7-1D4245B0695C")]
  105. class CDVSTimingPPage : public CDVSBasePPage
  106. {
  107. int m_SubtitleSpeedMul, m_SubtitleSpeedDiv, m_SubtitleDelay;
  108. bool m_fMediaFPSEnabled;
  109. double m_MediaFPS;
  110. CButton m_modfps;
  111. CEdit m_fps;
  112. CSpinButtonCtrl m_subdelay, m_subspeedmul, m_subspeeddiv;
  113. protected:
  114.     virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  115. virtual void UpdateControlData(bool fSave);
  116. virtual void UpdateObjectData(bool fSave);
  117. public:
  118.     CDVSTimingPPage(LPUNKNOWN lpunk, HRESULT* phr);
  119. };
  120. [uuid("F544E0F5-CA3C-47ea-A64D-35FCF1602396")]
  121. class CDVSAboutPPage : public CDVSBasePPage
  122. {
  123. protected:
  124.     virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  125. public:
  126.     CDVSAboutPPage(LPUNKNOWN lpunk, HRESULT* phr);
  127. };
  128. [uuid("525F116F-04AD-40a2-AE2F-A0C4E1AFEF98")]
  129. class CDVSZoomPPage : public CDVSBasePPage
  130. {
  131. NORMALIZEDRECT m_rect;
  132. CSpinButtonCtrl m_posx, m_posy, m_scalex, m_scaley;
  133. protected:
  134.     virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  135. virtual void UpdateControlData(bool fSave);
  136. virtual void UpdateObjectData(bool fSave);
  137. public:
  138.     CDVSZoomPPage(LPUNKNOWN lpunk, HRESULT* phr);
  139. };
  140. [uuid("C2D6D98F-09CA-4524-AF64-1049B5665C9C")]
  141. class CDVSColorPPage : public CDVSBasePPage
  142. {
  143. CListBox m_preflist, m_dynchglist;
  144. CButton m_forcergb;
  145. protected:
  146.     virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  147. virtual void UpdateControlData(bool fSave);
  148. virtual void UpdateObjectData(bool fSave);
  149. public:
  150.     CDVSColorPPage(LPUNKNOWN lpunk, HRESULT* phr);
  151. };
  152. [uuid("CE77C59C-CFD2-429f-868C-8B04D23F94CA")]
  153. class CDVSPathsPPage : public CDVSBasePPage
  154. {
  155. CStringArray m_paths;
  156. CListBox m_pathlist;
  157. CEdit m_path;
  158. CButton m_browse, m_remove, m_add;
  159. protected:
  160.     virtual bool OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  161. virtual void UpdateControlData(bool fSave);
  162. virtual void UpdateObjectData(bool fSave);
  163. public:
  164.     CDVSPathsPPage(LPUNKNOWN lpunk, HRESULT* phr);
  165. };