diff options
author | Casimir666 <casimir666@users.sourceforge.net> | 2006-06-25 01:37:43 +0400 |
---|---|---|
committer | Casimir666 <casimir666@users.sourceforge.net> | 2006-06-25 01:37:43 +0400 |
commit | 0868305e78da2b0742c2ce349efa041d5622ae21 (patch) | |
tree | 663fd93132c7927910ba7c13188d6332b2e3e5b2 /src/filters/transform/vsfilter/DirectVobSub.h | |
parent | 43c8656956a0460fc4551e3ea7a39b9f3094a3e3 (diff) |
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@14 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/transform/vsfilter/DirectVobSub.h')
-rw-r--r-- | src/filters/transform/vsfilter/DirectVobSub.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/src/filters/transform/vsfilter/DirectVobSub.h b/src/filters/transform/vsfilter/DirectVobSub.h new file mode 100644 index 000000000..1f44b33a6 --- /dev/null +++ b/src/filters/transform/vsfilter/DirectVobSub.h @@ -0,0 +1,124 @@ +/*
+ * Copyright (C) 2003-2006 Gabest
+ * http://www.gabest.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Make; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+#pragma once
+
+#include "IDirectVobSub.h"
+#include "..\..\..\..\include\IFilterVersion.h"
+
+class CDirectVobSub : public IDirectVobSub2, public IFilterVersion
+{
+protected:
+ CDirectVobSub();
+ virtual ~CDirectVobSub();
+
+protected:
+ CCritSec m_propsLock;
+
+ CString m_FileName;
+ int m_iSelectedLanguage;
+ bool m_fHideSubtitles;
+ bool m_fDoPreBuffering;
+ bool m_fOverridePlacement;
+ int m_PlacementXperc, m_PlacementYperc;
+ bool m_fBufferVobSub, m_fOnlyShowForcedVobSubs, m_fPolygonize;
+
+ STSStyle m_defStyle;
+
+ bool m_fAdvancedRenderer;
+ bool m_fFlipPicture, m_fFlipSubtitles;
+ bool m_fOSD;
+ int m_nReloaderDisableCount;
+ int m_SubtitleDelay, m_SubtitleSpeedMul, m_SubtitleSpeedDiv;
+ bool m_fMediaFPSEnabled;
+ double m_MediaFPS;
+ bool m_fSaveFullPath;
+ NORMALIZEDRECT m_ZoomRect;
+
+ CComPtr<ISubClock> m_pSubClock;
+ bool m_fForced;
+
+public:
+
+ // IDirectVobSub
+
+ STDMETHODIMP get_FileName(WCHAR* fn);
+ STDMETHODIMP put_FileName(WCHAR* fn);
+ STDMETHODIMP get_LanguageCount(int* nLangs);
+ STDMETHODIMP get_LanguageName(int iLanguage, WCHAR** ppName);
+ STDMETHODIMP get_SelectedLanguage(int* iSelected);
+ STDMETHODIMP put_SelectedLanguage(int iSelected);
+ STDMETHODIMP get_HideSubtitles(bool* fHideSubtitles);
+ STDMETHODIMP put_HideSubtitles(bool fHideSubtitles);
+ STDMETHODIMP get_PreBuffering(bool* fDoPreBuffering);
+ STDMETHODIMP put_PreBuffering(bool fDoPreBuffering);
+ STDMETHODIMP get_Placement(bool* fOverridePlacement, int* xperc, int* yperc);
+ STDMETHODIMP put_Placement(bool fOverridePlacement, int xperc, int yperc);
+ STDMETHODIMP get_VobSubSettings(bool* fBuffer, bool* fOnlyShowForcedSubs, bool* fPolygonize);
+ STDMETHODIMP put_VobSubSettings(bool fBuffer, bool fOnlyShowForcedSubs, bool fPolygonize);
+ STDMETHODIMP get_TextSettings(void* lf, int lflen, COLORREF* color, bool* fShadow, bool* fOutline, bool* fAdvancedRenderer);
+ STDMETHODIMP put_TextSettings(void* lf, int lflen, COLORREF color, bool fShadow, bool fOutline, bool fAdvancedRenderer);
+ STDMETHODIMP get_Flip(bool* fPicture, bool* fSubtitles);
+ STDMETHODIMP put_Flip(bool fPicture, bool fSubtitles);
+ STDMETHODIMP get_OSD(bool* fShowOSD);
+ STDMETHODIMP put_OSD(bool fShowOSD);
+ STDMETHODIMP get_SaveFullPath(bool* fSaveFullPath);
+ STDMETHODIMP put_SaveFullPath(bool fSaveFullPath);
+ STDMETHODIMP get_SubtitleTiming(int* delay, int* speedmul, int* speeddiv);
+ STDMETHODIMP put_SubtitleTiming(int delay, int speedmul, int speeddiv);
+ STDMETHODIMP get_MediaFPS(bool* fEnabled, double* fps);
+ STDMETHODIMP put_MediaFPS(bool fEnabled, double fps);
+ STDMETHODIMP get_ZoomRect(NORMALIZEDRECT* rect);
+ STDMETHODIMP put_ZoomRect(NORMALIZEDRECT* rect);
+ STDMETHODIMP get_ColorFormat(int* iPosition) {return E_NOTIMPL;}
+ STDMETHODIMP put_ColorFormat(int iPosition) {return E_NOTIMPL;}
+
+ STDMETHODIMP UpdateRegistry();
+
+ STDMETHODIMP HasConfigDialog(int iSelected);
+ STDMETHODIMP ShowConfigDialog(int iSelected, HWND hWndParent);
+
+ // settings for the rest are stored in the registry
+
+ STDMETHODIMP IsSubtitleReloaderLocked(bool* fLocked);
+ STDMETHODIMP LockSubtitleReloader(bool fLock);
+ STDMETHODIMP get_SubtitleReloader(bool* fDisabled);
+ STDMETHODIMP put_SubtitleReloader(bool fDisable);
+
+ // the followings need a partial or full reloading of the filter
+
+ STDMETHODIMP get_ExtendPicture(int* horizontal, int* vertical, int* resx2, int* resx2minw, int* resx2minh);
+ STDMETHODIMP put_ExtendPicture(int horizontal, int vertical, int resx2, int resx2minw, int resx2minh);
+ STDMETHODIMP get_LoadSettings(int* level, bool* fExternalLoad, bool* fWebLoad, bool* fEmbeddedLoad);
+ STDMETHODIMP put_LoadSettings(int level, bool fExternalLoad, bool fWebLoad, bool fEmbeddedLoad);
+
+ // IDirectVobSub2
+
+ STDMETHODIMP AdviseSubClock(ISubClock* pSubClock);
+ STDMETHODIMP_(bool) get_Forced();
+ STDMETHODIMP put_Forced(bool fForced);
+ STDMETHODIMP get_TextSettings(STSStyle* pDefStyle);
+ STDMETHODIMP put_TextSettings(STSStyle* pDefStyle);
+
+ // IFilterVersion
+
+ STDMETHODIMP_(DWORD) GetFilterVersion();
+};
\ No newline at end of file |