AJA NTV2 SDK  17.6.0.2675
NTV2 SDK 17.6.0.2675
winctrl.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // File: WinCtrl.h
3 //
4 // Desc: DirectShow base classes - defines classes for video control
5 // interfaces.
6 //
7 // Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
8 //------------------------------------------------------------------------------
9 
10 
11 #ifndef __WINCTRL__
12 #define __WINCTRL__
13 
14 #define ABSOL(x) (x < 0 ? -x : x)
15 #define NEGAT(x) (x > 0 ? -x : x)
16 
17 // Helper
18 BOOL WINAPI PossiblyEatMessage(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
19 
21 {
22 protected:
23 
24  CBaseFilter *m_pFilter; // Pointer to owning media filter
25  CBasePin *m_pPin; // Controls media types for connection
26  CCritSec *m_pInterfaceLock; // Externally defined critical section
27  COLORREF m_BorderColour; // Current window border colour
28  BOOL m_bAutoShow; // What happens when the state changes
29  HWND m_hwndOwner; // Owner window that we optionally have
30  HWND m_hwndDrain; // HWND to post any messages received
31  BOOL m_bCursorHidden; // Should we hide the window cursor
32 
33 public:
34 
35  // Internal methods for other objects to get information out
36 
37  HRESULT DoSetWindowStyle(long Style,long WindowLong);
38  HRESULT DoGetWindowStyle(__out long *pStyle,long WindowLong);
39  BOOL IsAutoShowEnabled() { return m_bAutoShow; };
40  COLORREF GetBorderColour() { return m_BorderColour; };
41  HWND GetOwnerWindow() { return m_hwndOwner; };
42  BOOL IsCursorHidden() { return m_bCursorHidden; };
43 
44  inline BOOL PossiblyEatMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
45  {
46  return ::PossiblyEatMessage(m_hwndDrain, uMsg, wParam, lParam);
47  }
48 
49  // Derived classes must call this to set the pin the filter is using
50  // We don't have the pin passed in to the constructor (as we do with
51  // the CBaseFilter object) because filters typically create the
52  // pins dynamically when requested in CBaseFilter::GetPin. This can
53  // not be called from our constructor because is is a virtual method
54 
56  m_pPin = pPin;
57  }
58 
59 public:
60 
61  CBaseControlWindow(__inout CBaseFilter *pFilter, // Owning media filter
62  __in CCritSec *pInterfaceLock, // Locking object
63  __in_opt LPCTSTR pName, // Object description
64  __inout_opt LPUNKNOWN pUnk, // Normal COM ownership
65  __inout HRESULT *phr); // OLE return code
66 
67  // These are the properties we support
68 
69  STDMETHODIMP put_Caption(__in BSTR strCaption);
70  STDMETHODIMP get_Caption(__out BSTR *pstrCaption);
71  STDMETHODIMP put_AutoShow(long AutoShow);
72  STDMETHODIMP get_AutoShow(__out long *AutoShow);
73  STDMETHODIMP put_WindowStyle(long WindowStyle);
74  STDMETHODIMP get_WindowStyle(__out long *pWindowStyle);
75  STDMETHODIMP put_WindowStyleEx(long WindowStyleEx);
76  STDMETHODIMP get_WindowStyleEx(__out long *pWindowStyleEx);
77  STDMETHODIMP put_WindowState(long WindowState);
78  STDMETHODIMP get_WindowState(__out long *pWindowState);
79  STDMETHODIMP put_BackgroundPalette(long BackgroundPalette);
80  STDMETHODIMP get_BackgroundPalette(__out long *pBackgroundPalette);
81  STDMETHODIMP put_Visible(long Visible);
82  STDMETHODIMP get_Visible(__out long *pVisible);
83  STDMETHODIMP put_Left(long Left);
84  STDMETHODIMP get_Left(__out long *pLeft);
85  STDMETHODIMP put_Width(long Width);
86  STDMETHODIMP get_Width(__out long *pWidth);
87  STDMETHODIMP put_Top(long Top);
88  STDMETHODIMP get_Top(__out long *pTop);
89  STDMETHODIMP put_Height(long Height);
90  STDMETHODIMP get_Height(__out long *pHeight);
91  STDMETHODIMP put_Owner(OAHWND Owner);
92  STDMETHODIMP get_Owner(__out OAHWND *Owner);
93  STDMETHODIMP put_MessageDrain(OAHWND Drain);
94  STDMETHODIMP get_MessageDrain(__out OAHWND *Drain);
95  STDMETHODIMP get_BorderColor(__out long *Color);
96  STDMETHODIMP put_BorderColor(long Color);
97  STDMETHODIMP get_FullScreenMode(__out long *FullScreenMode);
98  STDMETHODIMP put_FullScreenMode(long FullScreenMode);
99 
100  // And these are the methods
101 
102  STDMETHODIMP SetWindowForeground(long Focus);
103  STDMETHODIMP NotifyOwnerMessage(OAHWND hwnd,long uMsg,LONG_PTR wParam,LONG_PTR lParam);
104  STDMETHODIMP GetMinIdealImageSize(__out long *pWidth,__out long *pHeight);
105  STDMETHODIMP GetMaxIdealImageSize(__out long *pWidth,__out long *pHeight);
106  STDMETHODIMP SetWindowPosition(long Left,long Top,long Width,long Height);
107  STDMETHODIMP GetWindowPosition(__out long *pLeft,__out long *pTop,__out long *pWidth,__out long *pHeight);
108  STDMETHODIMP GetRestorePosition(__out long *pLeft,__out long *pTop,__out long *pWidth,__out long *pHeight);
109  STDMETHODIMP HideCursor(long HideCursor);
110  STDMETHODIMP IsCursorHidden(__out long *CursorHidden);
111 };
112 
113 // This class implements the IBasicVideo interface
114 
116 {
117 protected:
118 
119  CBaseFilter *m_pFilter; // Pointer to owning media filter
120  CBasePin *m_pPin; // Controls media types for connection
121  CCritSec *m_pInterfaceLock; // Externally defined critical section
122 
123 public:
124 
125  // Derived classes must provide these for the implementation
126 
127  virtual HRESULT IsDefaultTargetRect() PURE;
128  virtual HRESULT SetDefaultTargetRect() PURE;
129  virtual HRESULT SetTargetRect(RECT *pTargetRect) PURE;
130  virtual HRESULT GetTargetRect(RECT *pTargetRect) PURE;
131  virtual HRESULT IsDefaultSourceRect() PURE;
132  virtual HRESULT SetDefaultSourceRect() PURE;
133  virtual HRESULT SetSourceRect(RECT *pSourceRect) PURE;
134  virtual HRESULT GetSourceRect(RECT *pSourceRect) PURE;
135  virtual HRESULT GetStaticImage(__inout long *pBufferSize,__out_bcount_part(*pBufferSize, *pBufferSize) long *pDIBImage) PURE;
136 
137  // Derived classes must override this to return a VIDEOINFO representing
138  // the video format. We cannot call IPin ConnectionMediaType to get this
139  // format because various filters dynamically change the type when using
140  // DirectDraw such that the format shows the position of the logical
141  // bitmap in a frame buffer surface, so the size might be returned as
142  // 1024x768 pixels instead of 320x240 which is the real video dimensions
143 
144  __out virtual VIDEOINFOHEADER *GetVideoFormat() PURE;
145 
146  // Helper functions for creating memory renderings of a DIB image
147 
148  HRESULT GetImageSize(__in VIDEOINFOHEADER *pVideoInfo,
149  __out LONG *pBufferSize,
150  __in RECT *pSourceRect);
151 
152  HRESULT CopyImage(IMediaSample *pMediaSample,
153  __in VIDEOINFOHEADER *pVideoInfo,
154  __inout LONG *pBufferSize,
155  __out_bcount_part(*pBufferSize, *pBufferSize) BYTE *pVideoImage,
156  __in RECT *pSourceRect);
157 
158  // Override this if you want notifying when the rectangles change
159  virtual HRESULT OnUpdateRectangles() { return NOERROR; };
160  virtual HRESULT OnVideoSizeChange();
161 
162  // Derived classes must call this to set the pin the filter is using
163  // We don't have the pin passed in to the constructor (as we do with
164  // the CBaseFilter object) because filters typically create the
165  // pins dynamically when requested in CBaseFilter::GetPin. This can
166  // not be called from our constructor because is is a virtual method
167 
168  void SetControlVideoPin(__inout CBasePin *pPin) {
169  m_pPin = pPin;
170  }
171 
172  // Helper methods for checking rectangles
173  virtual HRESULT CheckSourceRect(__in RECT *pSourceRect);
174  virtual HRESULT CheckTargetRect(__in RECT *pTargetRect);
175 
176 public:
177 
178  CBaseControlVideo(__inout CBaseFilter *pFilter, // Owning media filter
179  __in CCritSec *pInterfaceLock, // Serialise interface
180  __in_opt LPCTSTR pName, // Object description
181  __inout_opt LPUNKNOWN pUnk, // Normal COM ownership
182  __inout HRESULT *phr); // OLE return code
183 
184  // These are the properties we support
185 
186  STDMETHODIMP get_AvgTimePerFrame(__out REFTIME *pAvgTimePerFrame);
187  STDMETHODIMP get_BitRate(__out long *pBitRate);
188  STDMETHODIMP get_BitErrorRate(__out long *pBitErrorRate);
189  STDMETHODIMP get_VideoWidth(__out long *pVideoWidth);
190  STDMETHODIMP get_VideoHeight(__out long *pVideoHeight);
191  STDMETHODIMP put_SourceLeft(long SourceLeft);
192  STDMETHODIMP get_SourceLeft(__out long *pSourceLeft);
193  STDMETHODIMP put_SourceWidth(long SourceWidth);
194  STDMETHODIMP get_SourceWidth(__out long *pSourceWidth);
195  STDMETHODIMP put_SourceTop(long SourceTop);
196  STDMETHODIMP get_SourceTop(__out long *pSourceTop);
197  STDMETHODIMP put_SourceHeight(long SourceHeight);
198  STDMETHODIMP get_SourceHeight(__out long *pSourceHeight);
199  STDMETHODIMP put_DestinationLeft(long DestinationLeft);
200  STDMETHODIMP get_DestinationLeft(__out long *pDestinationLeft);
201  STDMETHODIMP put_DestinationWidth(long DestinationWidth);
202  STDMETHODIMP get_DestinationWidth(__out long *pDestinationWidth);
203  STDMETHODIMP put_DestinationTop(long DestinationTop);
204  STDMETHODIMP get_DestinationTop(__out long *pDestinationTop);
205  STDMETHODIMP put_DestinationHeight(long DestinationHeight);
206  STDMETHODIMP get_DestinationHeight(__out long *pDestinationHeight);
207 
208  // And these are the methods
209 
210  STDMETHODIMP GetVideoSize(__out long *pWidth,__out long *pHeight);
211  STDMETHODIMP SetSourcePosition(long Left,long Top,long Width,long Height);
212  STDMETHODIMP GetSourcePosition(__out long *pLeft,__out long *pTop,__out long *pWidth,__out long *pHeight);
213  STDMETHODIMP GetVideoPaletteEntries(long StartIndex,long Entries,__out long *pRetrieved,__out_ecount_part(Entries, *pRetrieved) long *pPalette);
214  STDMETHODIMP SetDefaultSourcePosition();
215  STDMETHODIMP IsUsingDefaultSource();
216  STDMETHODIMP SetDestinationPosition(long Left,long Top,long Width,long Height);
217  STDMETHODIMP GetDestinationPosition(__out long *pLeft,__out long *pTop,__out long *pWidth,__out long *pHeight);
218  STDMETHODIMP SetDefaultDestinationPosition();
219  STDMETHODIMP IsUsingDefaultDestination();
220  STDMETHODIMP GetCurrentImage(__inout long *pBufferSize,__out_bcount_part(*pBufferSize, *pBufferSize) long *pVideoImage);
221 };
222 
223 #endif // __WINCTRL__
224 
CBaseControlWindow::GetMaxIdealImageSize
STDMETHODIMP GetMaxIdealImageSize(__out long *pWidth, __out long *pHeight)
Definition: winctrl.cpp:1034
CBaseControlWindow::put_Owner
STDMETHODIMP put_Owner(OAHWND Owner)
Definition: winctrl.cpp:667
CBaseControlWindow::get_Top
STDMETHODIMP get_Top(__out long *pTop)
Definition: winctrl.cpp:590
CBaseControlVideo::get_DestinationLeft
STDMETHODIMP get_DestinationLeft(__out long *pDestinationLeft)
Definition: winctrl.cpp:1614
CBaseControlWindow::m_bAutoShow
BOOL m_bAutoShow
Definition: winctrl.h:28
CBaseControlVideo::get_VideoHeight
STDMETHODIMP get_VideoHeight(__out long *pVideoHeight)
Definition: winctrl.cpp:1178
CBaseControlVideo
Definition: winctrl.h:115
CBaseControlVideo::get_BitErrorRate
STDMETHODIMP get_BitErrorRate(__out long *pBitErrorRate)
Definition: winctrl.cpp:1146
CBaseControlWindow::get_Visible
STDMETHODIMP get_Visible(__out long *pVisible)
Definition: winctrl.cpp:419
CBaseControlWindow::put_WindowState
STDMETHODIMP put_WindowState(long WindowState)
Definition: winctrl.cpp:301
CBasePin
Definition: amfilter.h:330
CBaseControlVideo::OnUpdateRectangles
virtual HRESULT OnUpdateRectangles()
Definition: winctrl.h:159
CBaseControlWindow::put_BorderColor
STDMETHODIMP put_BorderColor(long Color)
Definition: winctrl.cpp:936
CBaseControlWindow::put_Left
STDMETHODIMP put_Left(long Left)
Definition: winctrl.cpp:438
CBaseControlWindow::GetOwnerWindow
HWND GetOwnerWindow()
Definition: winctrl.h:41
CBaseControlWindow::put_Width
STDMETHODIMP put_Width(long Width)
Definition: winctrl.cpp:494
CBaseBasicVideo
Definition: ctlutil.h:439
CBaseControlWindow::m_pFilter
CBaseFilter * m_pFilter
Definition: winctrl.h:24
CBaseControlVideo::SetDefaultDestinationPosition
STDMETHODIMP SetDefaultDestinationPosition()
Definition: winctrl.cpp:1783
CBaseControlVideo::CheckSourceRect
virtual HRESULT CheckSourceRect(__in RECT *pSourceRect)
Definition: winctrl.cpp:2020
CBaseControlVideo::get_VideoWidth
STDMETHODIMP get_VideoWidth(__out long *pVideoWidth)
Definition: winctrl.cpp:1162
CBaseControlWindow::get_WindowState
STDMETHODIMP get_WindowState(__out long *pWindowState)
Definition: winctrl.cpp:315
CBaseControlVideo::get_BitRate
STDMETHODIMP get_BitRate(__out long *pBitRate)
Definition: winctrl.cpp:1130
CBaseControlWindow::get_Left
STDMETHODIMP get_Left(__out long *pLeft)
Definition: winctrl.cpp:477
CBaseControlVideo::SetDefaultSourcePosition
STDMETHODIMP SetDefaultSourcePosition()
Definition: winctrl.cpp:1759
CBaseControlVideo::CheckTargetRect
virtual HRESULT CheckTargetRect(__in RECT *pTargetRect)
Definition: winctrl.cpp:2057
CBaseWindow
Definition: winutil.h:36
CBaseControlVideo::SetSourceRect
virtual HRESULT SetSourceRect(RECT *pSourceRect) PURE
CBaseControlVideo::SetTargetRect
virtual HRESULT SetTargetRect(RECT *pTargetRect) PURE
CBaseControlWindow::GetBorderColour
COLORREF GetBorderColour()
Definition: winctrl.h:40
CBaseControlWindow::put_Caption
STDMETHODIMP put_Caption(__in BSTR strCaption)
Definition: winctrl.cpp:114
CBaseControlVideo::SetControlVideoPin
void SetControlVideoPin(__inout CBasePin *pPin)
Definition: winctrl.h:168
CBaseControlVideo::get_SourceHeight
STDMETHODIMP get_SourceHeight(__out long *pSourceHeight)
Definition: winctrl.cpp:1568
CBaseControlWindow::HideCursor
STDMETHODIMP HideCursor(long HideCursor)
Definition: winctrl.cpp:1058
CBaseControlVideo::CopyImage
HRESULT CopyImage(IMediaSample *pMediaSample, __in VIDEOINFOHEADER *pVideoInfo, __inout LONG *pBufferSize, __out_bcount_part(*pBufferSize, *pBufferSize) BYTE *pVideoImage, __in RECT *pSourceRect)
Definition: winctrl.cpp:1888
CBaseControlVideo::SetDestinationPosition
STDMETHODIMP SetDestinationPosition(long Left, long Top, long Width, long Height)
Definition: winctrl.cpp:1347
CBaseControlWindow::CBaseControlWindow
CBaseControlWindow(__inout CBaseFilter *pFilter, __in CCritSec *pInterfaceLock, __in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr)
Definition: winctrl.cpp:86
CBaseControlVideo::get_DestinationTop
STDMETHODIMP get_DestinationTop(__out long *pDestinationTop)
Definition: winctrl.cpp:1702
CBaseControlWindow::DoSetWindowStyle
HRESULT DoSetWindowStyle(long Style, long WindowLong)
Definition: winctrl.cpp:228
CBaseControlWindow::get_BackgroundPalette
STDMETHODIMP get_BackgroundPalette(__out long *pBackgroundPalette)
Definition: winctrl.cpp:382
CBaseControlVideo::get_AvgTimePerFrame
STDMETHODIMP get_AvgTimePerFrame(__out REFTIME *pAvgTimePerFrame)
Definition: winctrl.cpp:1112
CBaseControlVideo::SetDefaultSourceRect
virtual HRESULT SetDefaultSourceRect() PURE
CBaseControlVideo::GetTargetRect
virtual HRESULT GetTargetRect(RECT *pTargetRect) PURE
CBaseControlWindow::SetControlWindowPin
void SetControlWindowPin(CBasePin *pPin)
Definition: winctrl.h:55
CBaseControlWindow::put_Top
STDMETHODIMP put_Top(long Top)
Definition: winctrl.cpp:551
CBaseControlVideo::put_DestinationLeft
STDMETHODIMP put_DestinationLeft(long DestinationLeft)
Definition: winctrl.cpp:1586
CBaseControlWindow::DoGetWindowStyle
HRESULT DoGetWindowStyle(__out long *pStyle, long WindowLong)
Definition: winctrl.cpp:289
CBaseControlVideo::put_DestinationHeight
STDMETHODIMP put_DestinationHeight(long DestinationHeight)
Definition: winctrl.cpp:1717
CBaseControlWindow::get_MessageDrain
STDMETHODIMP get_MessageDrain(__out OAHWND *Drain)
Definition: winctrl.cpp:728
CBaseControlVideo::IsUsingDefaultSource
STDMETHODIMP IsUsingDefaultSource()
Definition: winctrl.cpp:1773
CBaseControlVideo::get_SourceTop
STDMETHODIMP get_SourceTop(__out long *pSourceTop)
Definition: winctrl.cpp:1526
CBaseControlWindow::m_bCursorHidden
BOOL m_bCursorHidden
Definition: winctrl.h:31
CBaseControlVideo::GetDestinationPosition
STDMETHODIMP GetDestinationPosition(__out long *pLeft, __out long *pTop, __out long *pWidth, __out long *pHeight)
Definition: winctrl.cpp:1380
CBaseControlWindow::IsCursorHidden
BOOL IsCursorHidden()
Definition: winctrl.h:42
pName
CHAR * pName
Definition: amvideo.cpp:26
CBaseControlWindow::get_BorderColor
STDMETHODIMP get_BorderColor(__out long *Color)
Definition: winctrl.cpp:925
CBaseControlVideo::SetDefaultTargetRect
virtual HRESULT SetDefaultTargetRect() PURE
CBaseControlWindow::put_Visible
STDMETHODIMP put_Visible(long Visible)
Definition: winctrl.cpp:397
CBaseControlWindow::put_FullScreenMode
STDMETHODIMP put_FullScreenMode(long FullScreenMode)
Definition: winctrl.cpp:960
CBaseControlVideo::GetStaticImage
virtual HRESULT GetStaticImage(__inout long *pBufferSize, __out_bcount_part(*pBufferSize, *pBufferSize) long *pDIBImage) PURE
CBaseControlVideo::CBaseControlVideo
CBaseControlVideo(__inout CBaseFilter *pFilter, __in CCritSec *pInterfaceLock, __in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr)
Definition: winctrl.cpp:1093
CBaseControlWindow::get_Owner
STDMETHODIMP get_Owner(__out OAHWND *Owner)
Definition: winctrl.cpp:702
CBaseControlVideo::GetSourceRect
virtual HRESULT GetSourceRect(RECT *pSourceRect) PURE
CBaseControlWindow::GetRestorePosition
STDMETHODIMP GetRestorePosition(__out long *pLeft, __out long *pTop, __out long *pWidth, __out long *pHeight)
Definition: winctrl.cpp:880
CCritSec
Definition: wxutil.h:18
CBaseVideoWindow
Definition: ctlutil.h:489
CBaseControlWindow::IsAutoShowEnabled
BOOL IsAutoShowEnabled()
Definition: winctrl.h:39
CBaseControlWindow::GetWindowPosition
STDMETHODIMP GetWindowPosition(__out long *pLeft, __out long *pTop, __out long *pWidth, __out long *pHeight)
Definition: winctrl.cpp:847
CBaseControlWindow::put_BackgroundPalette
STDMETHODIMP put_BackgroundPalette(long BackgroundPalette)
Definition: winctrl.cpp:356
CBaseControlWindow::m_hwndOwner
HWND m_hwndOwner
Definition: winctrl.h:29
CBaseControlWindow::SetWindowPosition
STDMETHODIMP SetWindowPosition(long Left, long Top, long Width, long Height)
Definition: winctrl.cpp:814
CBaseControlWindow::put_WindowStyle
STDMETHODIMP put_WindowStyle(long WindowStyle)
Definition: winctrl.cpp:192
CBaseControlVideo::put_DestinationTop
STDMETHODIMP put_DestinationTop(long DestinationTop)
Definition: winctrl.cpp:1674
CBaseControlVideo::GetVideoSize
STDMETHODIMP GetVideoSize(__out long *pWidth, __out long *pHeight)
Definition: winctrl.cpp:1265
CBaseControlVideo::GetSourcePosition
STDMETHODIMP GetSourcePosition(__out long *pLeft, __out long *pTop, __out long *pWidth, __out long *pHeight)
Definition: winctrl.cpp:1319
CBaseControlVideo::put_SourceLeft
STDMETHODIMP put_SourceLeft(long SourceLeft)
Definition: winctrl.cpp:1408
CBaseControlVideo::IsDefaultSourceRect
virtual HRESULT IsDefaultSourceRect() PURE
CBaseControlVideo::m_pFilter
CBaseFilter * m_pFilter
Definition: winctrl.h:119
CBaseControlVideo::GetCurrentImage
STDMETHODIMP GetCurrentImage(__inout long *pBufferSize, __out_bcount_part(*pBufferSize, *pBufferSize) long *pVideoImage)
Definition: winctrl.cpp:1808
CBaseControlWindow::put_MessageDrain
STDMETHODIMP put_MessageDrain(OAHWND Drain)
Definition: winctrl.cpp:716
CBaseControlVideo::IsUsingDefaultDestination
STDMETHODIMP IsUsingDefaultDestination()
Definition: winctrl.cpp:1797
CBaseControlVideo::GetVideoPaletteEntries
STDMETHODIMP GetVideoPaletteEntries(long StartIndex, long Entries, __out long *pRetrieved, __out_ecount_part(Entries, *pRetrieved) long *pPalette)
Definition: winctrl.cpp:1199
CBaseControlWindow
Definition: winctrl.h:20
CBaseControlWindow::get_Width
STDMETHODIMP get_Width(__out long *pWidth)
Definition: winctrl.cpp:535
CBaseControlWindow::PossiblyEatMessage
BOOL PossiblyEatMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: winctrl.h:44
CBaseControlVideo::put_SourceTop
STDMETHODIMP put_SourceTop(long SourceTop)
Definition: winctrl.cpp:1498
CBaseControlVideo::put_DestinationWidth
STDMETHODIMP put_DestinationWidth(long DestinationWidth)
Definition: winctrl.cpp:1629
CBaseControlWindow::put_Height
STDMETHODIMP put_Height(long Height)
Definition: winctrl.cpp:607
CBaseControlVideo::put_SourceHeight
STDMETHODIMP put_SourceHeight(long SourceHeight)
Definition: winctrl.cpp:1541
CBaseControlWindow::get_FullScreenMode
STDMETHODIMP get_FullScreenMode(__out long *FullScreenMode)
Definition: winctrl.cpp:950
CBaseFilter
Definition: amfilter.h:148
CBaseControlVideo::SetSourcePosition
STDMETHODIMP SetSourcePosition(long Left, long Top, long Width, long Height)
Definition: winctrl.cpp:1287
CBaseControlVideo::IsDefaultTargetRect
virtual HRESULT IsDefaultTargetRect() PURE
CBaseControlWindow::put_WindowStyleEx
STDMETHODIMP put_WindowStyleEx(long WindowStyleEx)
Definition: winctrl.cpp:157
CBaseControlWindow::get_WindowStyleEx
STDMETHODIMP get_WindowStyleEx(__out long *pWindowStyleEx)
Definition: winctrl.cpp:182
CBaseControlWindow::put_AutoShow
STDMETHODIMP put_AutoShow(long AutoShow)
Definition: winctrl.cpp:971
CBaseControlWindow::m_BorderColour
COLORREF m_BorderColour
Definition: winctrl.h:27
CBaseControlWindow::get_Height
STDMETHODIMP get_Height(__out long *pHeight)
Definition: winctrl.cpp:644
CBaseControlVideo::put_SourceWidth
STDMETHODIMP put_SourceWidth(long SourceWidth)
Definition: winctrl.cpp:1453
PossiblyEatMessage
BOOL WINAPI PossiblyEatMessage(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: winctrl.cpp:31
CBaseControlVideo::get_SourceWidth
STDMETHODIMP get_SourceWidth(__out long *pSourceWidth)
Definition: winctrl.cpp:1480
CBaseControlVideo::GetImageSize
HRESULT GetImageSize(__in VIDEOINFOHEADER *pVideoInfo, __out LONG *pBufferSize, __in RECT *pSourceRect)
Definition: winctrl.cpp:1843
CBaseControlVideo::get_DestinationWidth
STDMETHODIMP get_DestinationWidth(__out long *pDestinationWidth)
Definition: winctrl.cpp:1656
CBaseControlWindow::SetWindowForeground
STDMETHODIMP SetWindowForeground(long Focus)
Definition: winctrl.cpp:788
CBaseControlVideo::GetVideoFormat
virtual __out VIDEOINFOHEADER * GetVideoFormat() PURE
CBaseControlWindow::NotifyOwnerMessage
STDMETHODIMP NotifyOwnerMessage(OAHWND hwnd, long uMsg, LONG_PTR wParam, LONG_PTR lParam)
Definition: winctrl.cpp:745
CBaseControlWindow::m_pPin
CBasePin * m_pPin
Definition: winctrl.h:25
CBaseControlWindow::m_pInterfaceLock
CCritSec * m_pInterfaceLock
Definition: winctrl.h:26
CBaseControlWindow::get_Caption
STDMETHODIMP get_Caption(__out BSTR *pstrCaption)
Definition: winctrl.cpp:136
CBaseControlVideo::get_SourceLeft
STDMETHODIMP get_SourceLeft(__out long *pSourceLeft)
Definition: winctrl.cpp:1436
CBaseControlWindow::GetMinIdealImageSize
STDMETHODIMP GetMinIdealImageSize(__out long *pWidth, __out long *pHeight)
Definition: winctrl.cpp:1007
CBaseControlWindow::m_hwndDrain
HWND m_hwndDrain
Definition: winctrl.h:30
CBaseControlWindow::get_WindowStyle
STDMETHODIMP get_WindowStyle(__out long *pWindowStyle)
Definition: winctrl.cpp:213
CBaseControlVideo::get_DestinationHeight
STDMETHODIMP get_DestinationHeight(__out long *pDestinationHeight)
Definition: winctrl.cpp:1744
CBaseControlVideo::m_pPin
CBasePin * m_pPin
Definition: winctrl.h:120
CBaseControlVideo::m_pInterfaceLock
CCritSec * m_pInterfaceLock
Definition: winctrl.h:121
CBaseControlWindow::get_AutoShow
STDMETHODIMP get_AutoShow(__out long *AutoShow)
Definition: winctrl.cpp:992
CBaseControlVideo::OnVideoSizeChange
virtual HRESULT OnVideoSizeChange()
Definition: winctrl.cpp:1996