CBaseControlVideo::IsDefaultTargetRect
Microsoft DirectShow 9.0 |
CBaseControlVideo::IsDefaultTargetRect
The IsDefaultTargetRect method determines if the renderer is using the default target rectangle (pure virtual).
Syntax
virtual HRESULT IsDefaultTargetRect(void) PURE;
Return Value
Returns S_OK if the renderer is using the default target; otherwise, returns S_FALSE.
Remarks
This member function must be implemented in the derived class. It is called by the CBaseControlVideo::IsUsingDefaultDestination member function.
The following example demonstrates an implementation of this function in a derived class.
// Return S_OK if using the default target; otherwise, S_FALSE. HRESULT CVideoText::IsDefaultTargetRect() { RECT TargetRect; VIDEOINFO *pVideoInfo = (VIDEOINFO *) m_pRenderer->m_mtIn.Format(); BITMAPINFOHEADER *pHeader = HEADER(pVideoInfo); m_pRenderer->m_DrawImage.GetTargetRect(&TargetRect); // Check the destination that matches the initial client area. if (TargetRect.left != 0 || TargetRect.top != 0 || TargetRect.right != m_Size.cx || TargetRect.bottom != m_Size.cy) { return S_FALSE; } return S_OK; }
In this example, CVideoText is a class derived from CBaseControlVideo, m_pRenderer holds an object of a class derived from CBaseVideoRenderer, and the m_DrawImage data member, defined in the derived class, holds a CDrawImage object. The m_mtIn data member, also defined in the derived class, holds a CMediaType object with media type of the input pin.
Requirements
** Header:** Declared in Ctlutil.h; include Streams.h.
** Library:** Use Strmbase.lib (retail builds) or Strmbasd.lib (debug builds).
See Also