00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #pragma once
00023
00024 #include "..\..\..\subtitles\STS.h"
00025
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00030 [uuid("EBE1FB08-3957-47ca-AF13-5827E5442E56")]
00031 interface IDirectVobSub : public IUnknown
00032 {
00033 STDMETHOD(get_FileName) (THIS_
00034 WCHAR* fn
00035 ) PURE;
00036
00037 STDMETHOD(put_FileName) (THIS_
00038 WCHAR* fn
00039 ) PURE;
00040
00041 STDMETHOD(get_LanguageCount) (THIS_
00042 int* nLangs
00043 ) PURE;
00044
00045 STDMETHOD(get_LanguageName) (THIS_
00046 int iLanguage,
00047 WCHAR** ppName
00048 ) PURE;
00049
00050 STDMETHOD(get_SelectedLanguage) (THIS_
00051 int* iSelected
00052 ) PURE;
00053
00054 STDMETHOD(put_SelectedLanguage) (THIS_
00055 int iSelected
00056 ) PURE;
00057
00058 STDMETHOD(get_HideSubtitles) (THIS_
00059 bool* fHideSubtitles
00060 ) PURE;
00061
00062 STDMETHOD(put_HideSubtitles) (THIS_
00063 bool fHideSubtitles
00064 ) PURE;
00065
00066 STDMETHOD(get_PreBuffering) (THIS_
00067 bool* fDoPreBuffering
00068 ) PURE;
00069
00070 STDMETHOD(put_PreBuffering) (THIS_
00071 bool fDoPreBuffering
00072 ) PURE;
00073
00074 STDMETHOD(get_Placement) (THIS_
00075 bool* fOverridePlacement,
00076 int* xperc,
00077 int* yperc
00078 ) PURE;
00079
00080 STDMETHOD(put_Placement) (THIS_
00081 bool fOverridePlacement,
00082 int xperc,
00083 int yperc
00084 ) PURE;
00085
00086 STDMETHOD(get_VobSubSettings) (THIS_
00087 bool* fBuffer,
00088 bool* fOnlyShowForcedSubs,
00089 bool* fPolygonize
00090 ) PURE;
00091
00092 STDMETHOD(put_VobSubSettings) (THIS_
00093 bool fBuffer,
00094 bool fOnlyShowForcedSubs,
00095 bool fPolygonize
00096 ) PURE;
00097
00098 STDMETHOD(get_TextSettings) (THIS_
00099 void* lf,
00100 int lflen,
00101 COLORREF* color,
00102 bool* fShadow,
00103 bool* fOutline,
00104 bool* fAdvancedRenderer
00105 ) PURE;
00106
00107 STDMETHOD(put_TextSettings) (THIS_
00108 void* lf,
00109 int lflen,
00110 COLORREF color,
00111 bool fShadow,
00112 bool fOutline,
00113 bool fAdvancedRenderer
00114 ) PURE;
00115
00116 STDMETHOD(get_Flip) (THIS_
00117 bool* fPicture,
00118 bool* fSubtitles
00119 ) PURE;
00120
00121 STDMETHOD(put_Flip) (THIS_
00122 bool fPicture,
00123 bool fSubtitles
00124 ) PURE;
00125
00126 STDMETHOD(get_OSD) (THIS_
00127 bool* fOSD
00128 ) PURE;
00129
00130 STDMETHOD(put_OSD) (THIS_
00131 bool fOSD
00132 ) PURE;
00133
00134 STDMETHOD(get_SaveFullPath) (THIS_
00135 bool* fSaveFullPath
00136 ) PURE;
00137
00138 STDMETHOD(put_SaveFullPath) (THIS_
00139 bool fSaveFullPath
00140 ) PURE;
00141
00142 STDMETHOD(get_SubtitleTiming) (THIS_
00143 int* delay,
00144 int* speedmul,
00145 int* speeddiv
00146 ) PURE;
00147
00148 STDMETHOD(put_SubtitleTiming) (THIS_
00149 int delay,
00150 int speedmul,
00151 int speeddiv
00152 ) PURE;
00153
00154 STDMETHOD(get_MediaFPS) (THIS_
00155 bool* fEnabled,
00156 double* fps
00157 ) PURE;
00158
00159 STDMETHOD(put_MediaFPS) (THIS_
00160 bool fEnabled,
00161 double fps
00162 ) PURE;
00163
00164
00165
00166 STDMETHOD(get_ColorFormat) (THIS_
00167 int* iPosition
00168 ) PURE;
00169
00170 STDMETHOD(put_ColorFormat) (THIS_
00171 int iPosition
00172 ) PURE;
00173
00174
00175
00176 STDMETHOD(get_ZoomRect) (THIS_
00177 NORMALIZEDRECT* rect
00178 ) PURE;
00179
00180 STDMETHOD(put_ZoomRect) (THIS_
00181 NORMALIZEDRECT* rect
00182 ) PURE;
00183
00184
00185
00186 STDMETHOD(UpdateRegistry) (THIS_
00187 ) PURE;
00188
00189
00190
00191 STDMETHOD(HasConfigDialog) (THIS_
00192 int iSelected
00193 ) PURE;
00194
00195 STDMETHOD(ShowConfigDialog) (THIS_
00196 int iSelected,
00197 HWND hWndParent
00198 ) PURE;
00199
00200
00201
00202 STDMETHOD(IsSubtitleReloaderLocked) (THIS_
00203 bool* fLocked
00204 ) PURE;
00205
00206 STDMETHOD(LockSubtitleReloader) (THIS_
00207 bool fLock
00208 ) PURE;
00209
00210 STDMETHOD(get_SubtitleReloader) (THIS_
00211 bool* fDisabled
00212 ) PURE;
00213
00214 STDMETHOD(put_SubtitleReloader) (THIS_
00215 bool fDisable
00216 ) PURE;
00217
00218
00219
00220 STDMETHOD(get_ExtendPicture) (THIS_
00221 int* horizontal,
00222 int* vertical,
00223 int* resx2,
00224 int* resx2minw,
00225 int* resx2minh
00226 ) PURE;
00227
00228 STDMETHOD(put_ExtendPicture) (THIS_
00229 int horizontal,
00230 int vertical,
00231 int resx2,
00232 int resx2minw,
00233 int resx2minh
00234 ) PURE;
00235
00236 STDMETHOD(get_LoadSettings) (THIS_
00237 int* level,
00238 bool* fExternalLoad,
00239 bool* fWebLoad,
00240 bool* fEmbeddedLoad
00241 ) PURE;
00242
00243 STDMETHOD(put_LoadSettings) (THIS_
00244 int level,
00245 bool fExternalLoad,
00246 bool fWebLoad,
00247 bool fEmbeddedLoad
00248 ) PURE;
00249 };
00250
00251 [uuid("FE6EC6A0-21CA-4970-9EF0-B296F7F38AF0")]
00252 interface ISubClock : public IUnknown
00253 {
00254 STDMETHOD(SetTime)(REFERENCE_TIME rt) PURE;
00255 STDMETHOD_(REFERENCE_TIME, GetTime)() PURE;
00256 };
00257
00258 [uuid("0665B760-FBC1-46C3-A35F-E471527C96A4")]
00259 interface ISubClock2 : public ISubClock
00260 {
00261 STDMETHOD(SetAvgTimePerFrame)(REFERENCE_TIME rt) PURE;
00262 STDMETHOD(GetAvgTimePerFrame)(REFERENCE_TIME* prt) PURE;
00263 };
00264
00265 [uuid("AB52FC9C-2415-4dca-BC1C-8DCC2EAE8150")]
00266 interface IDirectVobSub2 : public IDirectVobSub
00267 {
00268 STDMETHOD(AdviseSubClock) (THIS_
00269 ISubClock* pSubClock
00270 ) PURE;
00271
00272 STDMETHOD_(bool, get_Forced) (THIS_
00273 ) PURE;
00274
00275 STDMETHOD(put_Forced) (THIS_
00276 bool fForced
00277 ) PURE;
00278
00279 STDMETHOD(get_TextSettings) (THIS_
00280 STSStyle* pDefStyle
00281 ) PURE;
00282
00283 STDMETHOD(put_TextSettings) (THIS_
00284 STSStyle* pDefStyle
00285 ) PURE;
00286 };
00287
00288
00289 #ifdef __cplusplus
00290 }
00291 #endif