X64 transport [Part 5] (Update plugins.cpp)
[xy_vsfilter.git] / src / subpic / ISimpleSubPic.h
blob852177d3f4b82579c8fcfc30f82aad6568dc8369
1 #pragma once
3 #include "ISubPic.h"
4 #include "../subtitles/XySubRenderIntf.h"
6 //
7 // ISimpleSubPic
8 //
10 interface __declspec(uuid("8ca58386-cc13-439b-a226-eaaaffbcedcb"))
11 ISimpleSubPic :
12 public IUnknown {
13 STDMETHOD (AlphaBlt) (SubPicDesc* target) PURE;
17 // ISimpleSubPicProvider
18 //
20 interface __declspec(uuid("b3a13c82-efcf-4433-95a4-0c750cc638f6"))
21 ISimpleSubPicProvider :
22 public IUnknown
24 public:
25 STDMETHOD (SetSubPicProvider) (IUnknown* subpic_provider /*[in]*/) PURE;
26 STDMETHOD (GetSubPicProvider) (IUnknown** subpic_provider /*[out]*/) PURE;
28 STDMETHOD (SetFPS) (double fps /*[in]*/) PURE;
29 STDMETHOD (SetTime) (REFERENCE_TIME now /*[in]*/) PURE;
31 STDMETHOD (Invalidate) (REFERENCE_TIME invalidate_rt = -1) PURE;
32 STDMETHOD_(bool, LookupSubPic) (REFERENCE_TIME now /*[in]*/, ISimpleSubPic** output_subpic /*[out]*/) PURE;
34 //fix me: & => *
35 STDMETHOD (GetStats) (int& nSubPics, REFERENCE_TIME& rtNow, REFERENCE_TIME& rtStart, REFERENCE_TIME& rtStop /*[out]*/) PURE;
36 STDMETHOD (GetStats) (int nSubPic /*[in]*/, REFERENCE_TIME& rtStart, REFERENCE_TIME& rtStop /*[out]*/) PURE;
39 interface __declspec(uuid("1f277b1b-c28d-4022-b00e-373d0b1b54cd"))
40 ISubPicProviderEx2 ://A tmp thing for test
41 public IUnknown {
42 STDMETHOD (Lock) () PURE;
43 STDMETHOD (Unlock) () PURE;
45 STDMETHOD_(POSITION, GetStartPosition) (REFERENCE_TIME rt, double fps) PURE;
46 STDMETHOD_(POSITION, GetNext) (POSITION pos) PURE;
48 STDMETHOD_(REFERENCE_TIME, GetStart) (POSITION pos, double fps) PURE;
49 STDMETHOD_(REFERENCE_TIME, GetStop) (POSITION pos, double fps) PURE;
51 STDMETHOD_(bool, IsAnimated) (POSITION pos) PURE;
53 STDMETHOD_(VOID, GetStartStop) (POSITION pos, double fps, /*out*/REFERENCE_TIME& start, /*out*/REFERENCE_TIME& stop) PURE;
54 STDMETHOD (RenderEx) (IXySubRenderFrame**subRenderFrame, int spd_type,
55 const SIZE& size_scale_to, const SIZE& size1, const CRect& video_rect,
56 REFERENCE_TIME rt, double fps) PURE;
58 STDMETHOD_(bool, IsColorTypeSupported) (int type) PURE;