IDirectVobSub.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:7k
- /*
- * Copyright (C) 2003-2005 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 "......subtitlesSTS.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- [uuid("EBE1FB08-3957-47ca-AF13-5827E5442E56")]
- interface IDirectVobSub : public IUnknown
- {
- STDMETHOD(get_FileName) (THIS_
- WCHAR* fn // fn should point to a buffer allocated to at least the length of MAX_PATH (=260)
- ) PURE;
- STDMETHOD(put_FileName) (THIS_
- WCHAR* fn
- ) PURE;
- STDMETHOD(get_LanguageCount) (THIS_
- int* nLangs
- ) PURE;
- STDMETHOD(get_LanguageName) (THIS_
- int iLanguage,
- WCHAR** ppName // the returned *ppName is allocated with CoTaskMemAlloc
- ) PURE;
- STDMETHOD(get_SelectedLanguage) (THIS_
- int* iSelected
- ) PURE;
- STDMETHOD(put_SelectedLanguage) (THIS_
- int iSelected
- ) PURE;
- STDMETHOD(get_HideSubtitles) (THIS_
- bool* fHideSubtitles
- ) PURE;
- STDMETHOD(put_HideSubtitles) (THIS_
- bool fHideSubtitles
- ) PURE;
- STDMETHOD(get_PreBuffering) (THIS_
- bool* fDoPreBuffering
- ) PURE;
- STDMETHOD(put_PreBuffering) (THIS_
- bool fDoPreBuffering
- ) PURE;
- STDMETHOD(get_Placement) (THIS_
- bool* fOverridePlacement,
- int* xperc,
- int* yperc
- ) PURE;
- STDMETHOD(put_Placement) (THIS_
- bool fOverridePlacement,
- int xperc,
- int yperc
- ) PURE;
- STDMETHOD(get_VobSubSettings) (THIS_
- bool* fBuffer,
- bool* fOnlyShowForcedSubs,
- bool* fPolygonize
- ) PURE;
- STDMETHOD(put_VobSubSettings) (THIS_
- bool fBuffer,
- bool fOnlyShowForcedSubs,
- bool fPolygonize
- ) PURE;
- STDMETHOD(get_TextSettings) (THIS_
- void* lf,
- int lflen, // depending on lflen, lf must point to LOGFONTA or LOGFONTW
- COLORREF* color,
- bool* fShadow,
- bool* fOutline,
- bool* fAdvancedRenderer
- ) PURE;
- STDMETHOD(put_TextSettings) (THIS_
- void* lf,
- int lflen,
- COLORREF color,
- bool fShadow,
- bool fOutline,
- bool fAdvancedRenderer
- ) PURE;
- STDMETHOD(get_Flip) (THIS_
- bool* fPicture,
- bool* fSubtitles
- ) PURE;
- STDMETHOD(put_Flip) (THIS_
- bool fPicture,
- bool fSubtitles
- ) PURE;
- STDMETHOD(get_OSD) (THIS_
- bool* fOSD
- ) PURE;
- STDMETHOD(put_OSD) (THIS_
- bool fOSD
- ) PURE;
- STDMETHOD(get_SaveFullPath) (THIS_
- bool* fSaveFullPath
- ) PURE;
- STDMETHOD(put_SaveFullPath) (THIS_
- bool fSaveFullPath
- ) PURE;
- STDMETHOD(get_SubtitleTiming) (THIS_
- int* delay,
- int* speedmul,
- int* speeddiv
- ) PURE;
- STDMETHOD(put_SubtitleTiming) (THIS_
- int delay,
- int speedmul,
- int speeddiv
- ) PURE;
- STDMETHOD(get_MediaFPS) (THIS_
- bool* fEnabled,
- double* fps
- ) PURE;
- STDMETHOD(put_MediaFPS) (THIS_
- bool fEnabled,
- double fps
- ) PURE;
- // no longer supported
- STDMETHOD(get_ColorFormat) (THIS_
- int* iPosition
- ) PURE;
- STDMETHOD(put_ColorFormat) (THIS_
- int iPosition
- ) PURE;
- //
- STDMETHOD(get_ZoomRect) (THIS_
- NORMALIZEDRECT* rect
- ) PURE;
- STDMETHOD(put_ZoomRect) (THIS_
- NORMALIZEDRECT* rect
- ) PURE;
- //
- STDMETHOD(UpdateRegistry) (THIS_
- ) PURE;
- //
- STDMETHOD(HasConfigDialog) (THIS_
- int iSelected
- ) PURE;
- STDMETHOD(ShowConfigDialog) (THIS_ // if available, this will popup a child dialog allowing the user to edit the style options
- int iSelected,
- HWND hWndParent
- ) PURE;
- //
- STDMETHOD(IsSubtitleReloaderLocked) (THIS_
- bool* fLocked
- ) PURE;
- STDMETHOD(LockSubtitleReloader) (THIS_
- bool fLock
- ) PURE;
- STDMETHOD(get_SubtitleReloader) (THIS_
- bool* fDisabled
- ) PURE;
- STDMETHOD(put_SubtitleReloader) (THIS_
- bool fDisable
- ) PURE;
- //
- STDMETHOD(get_ExtendPicture) (THIS_
- int* horizontal, // 0 - disabled, 1 - mod32 extension (width = (width+31)&~31)
- int* vertical, // 0 - disabled, 1 - 16:9, 2 - 4:3, 0x80 - crop (use crop together with 16:9 or 4:3, eg 0x81 will crop to 16:9 if the picture was taller)
- int* resx2, // 0 - disabled, 1 - enabled, 2 - depends on the original resolution
- int* resx2minw, // resolution doubler will be used if width*height <= resx2minw*resx2minh (resx2minw*resx2minh equals to 384*288 by default)
- int* resx2minh
- ) PURE;
- STDMETHOD(put_ExtendPicture) (THIS_
- int horizontal,
- int vertical,
- int resx2,
- int resx2minw,
- int resx2minh
- ) PURE;
- STDMETHOD(get_LoadSettings) (THIS_
- int* level, // 0 - when needed, 1 - always, 2 - disabled
- bool* fExternalLoad,
- bool* fWebLoad,
- bool* fEmbeddedLoad
- ) PURE;
- STDMETHOD(put_LoadSettings) (THIS_
- int level,
- bool fExternalLoad,
- bool fWebLoad,
- bool fEmbeddedLoad
- ) PURE;
- };
- [uuid("FE6EC6A0-21CA-4970-9EF0-B296F7F38AF0")]
- interface ISubClock : public IUnknown
- {
- STDMETHOD(SetTime)(REFERENCE_TIME rt) PURE;
- STDMETHOD_(REFERENCE_TIME, GetTime)() PURE;
- };
- [uuid("0665B760-FBC1-46C3-A35F-E471527C96A4")]
- interface ISubClock2 : public ISubClock
- {
- STDMETHOD(SetAvgTimePerFrame)(REFERENCE_TIME rt) PURE;
- STDMETHOD(GetAvgTimePerFrame)(REFERENCE_TIME* prt) PURE; // return S_OK only if *prt was set and is valid
- };
- [uuid("AB52FC9C-2415-4dca-BC1C-8DCC2EAE8150")]
- interface IDirectVobSub2 : public IDirectVobSub
- {
- STDMETHOD(AdviseSubClock) (THIS_
- ISubClock* pSubClock
- ) PURE;
- STDMETHOD_(bool, get_Forced) (THIS_
- ) PURE;
- STDMETHOD(put_Forced) (THIS_
- bool fForced
- ) PURE;
- STDMETHOD(get_TextSettings) (THIS_
- STSStyle* pDefStyle
- ) PURE;
- STDMETHOD(put_TextSettings) (THIS_
- STSStyle* pDefStyle
- ) PURE;
- };
- #ifdef __cplusplus
- }
- #endif