📄 rtrender.h
字号:
STDMETHOD_(ULONG32,Release) (THIS); // *** IHXRenderer methods *** /************************************************************************ * Method: * IHXRenderer::GetRendererInfo * Purpose: * Returns information vital to the instantiation of rendering * plugins. */ STDMETHOD(GetRendererInfo) (THIS_ REF(const char**) /*OUT*/ pStreamMimeTypes, REF(UINT32) /*OUT*/ unInitialGranularity ); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::StartStream // Purpose: // Called by client engine to inform the renderer of the stream it // will be rendering. The stream interface can provide access to // its source or player. This method also provides access to the // primary client controller interface. // STDMETHOD (StartStream) (THIS_ IHXStream* pStream, IHXPlayer* pPlayer); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::EndStream // Purpose: // Called by client engine to inform the renderer that the stream // is was rendering is closed. // STDMETHOD (EndStream) (THIS); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::OnHeader // Purpose: // Called by client engine when a header for this renderer is // available. The header will arrive before any packets. // STDMETHOD (OnHeader) (THIS_ IHXValues* pHeader); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::OnPacket // Purpose: // Called by client engine when a packet for this renderer is // due. // STDMETHOD (OnPacket) (THIS_ IHXPacket* pPacket, LONG32 lTimeOffset); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::OnTimeSync // Purpose: // Called by client engine to inform the renderer of the current // time relative to the streams synchronized time-line. The // renderer should use this time value to update its display or // render it's stream data accordingly. // STDMETHOD (OnTimeSync) (THIS_ ULONG32 ulTime); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::OnPreSeek // Purpose: // Called by client engine to inform the renderer that a seek is // about to occur. The render is informed the last time for the // stream's time line before the seek, as well as the first new // time for the stream's time line after the seek will be completed. // STDMETHOD (OnPreSeek) (THIS_ ULONG32 ulOldTime, ULONG32 ulNewTime); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::OnPostSeek // Purpose: // Called by client engine to inform the renderer that a seek has // just occured. The render is informed the last time for the // stream's time line before the seek, as well as the first new // time for the stream's time line after the seek. // STDMETHOD (OnPostSeek) (THIS_ ULONG32 ulOldTime, ULONG32 ulNewTime); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::OnPause // Purpose: // Called by client engine to inform the renderer that a pause has // just occured. The render is informed the last time for the // stream's time line before the pause. // STDMETHOD (OnPause) (THIS_ ULONG32 ulTime); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::OnBegin // Purpose: // Called by client engine to inform the renderer that a begin or // resume has just occured. The render is informed the first time // for the stream's time line after the resume. // STDMETHOD (OnBegin) (THIS_ ULONG32 ulTime); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::OnBuffering // Purpose: // Called by client engine to inform the renderer that buffering // of data is occuring. The render is informed of the reason for // the buffering (start-up of stream, seek has occured, network // congestion, etc.), as well as percentage complete of the // buffering process. // STDMETHOD (OnBuffering) (THIS_ ULONG32 ulFlags, UINT16 unPercentComplete); ///////////////////////////////////////////////////////////////////////// // Method: // IHXRenderer::GetDisplayType // Purpose: // Called by client engine to ask the renderer for it's preferred // display type. When layout information is not present, the // renderer will be asked for it's prefered display type. Depending // on the display type a buffer of additional information may be // needed. This buffer could contain information about preferred // window size. // STDMETHOD (GetDisplayType) (THIS_ REF(HX_DISPLAY_TYPE) ulFlags, REF(IHXBuffer*) pBuffer); /************************************************************************ * Method: * IHXRenderer::OnEndofPackets * Purpose: * Called by client engine to inform the renderer that all the * packets have been delivered. However, if the user seeks before * EndStream() is called, renderer may start getting packets again * and the client engine will eventually call this function again. */ STDMETHOD(OnEndofPackets) (THIS); /* * IHXSiteUser methods usually called by the "context" to * associate users with the site. */ STDMETHOD(AttachSite) (THIS_ IHXSite* /*IN*/ pSite); STDMETHOD(DetachSite) (THIS); /* * IHXSiteUser methods called to inform user of an event. */ STDMETHOD(HandleEvent) (THIS_ HXxEvent* /*IN*/ pEvent); STDMETHOD_(BOOL,NeedsWindowedSites) (THIS); /************************************************************************ * Method: * IHXStatistics::InitializeStatistics * Purpose: * Pass registry ID to the caller */ STDMETHOD (InitializeStatistics) (THIS_ UINT32 /*IN*/ ulRegistryID); /************************************************************************ * Method: * IHXStatistics::UpdateStatistics * Purpose: * Notify the client to update its statistics stored in the registry */ STDMETHOD (UpdateStatistics)(THIS); /* * IHXCallback methods: */ /************************************************************************ * Method: * IHXCallback::Func * Purpose: * This is the function that will be called when a callback is * to be executed. */ STDMETHOD(Func) (THIS); /************************************************************************ * Method: * IHXUpdateProperties::UpdatePacketTimeOffset * Purpose: * Call this method to update the timestamp offset of cached packets */ STDMETHOD(UpdatePacketTimeOffset) (THIS_ INT32 lTimeOffset); /************************************************************************ * Method: * IHXUpdateProperties::UpdatePlayTimes * Purpose: * Call this method to update the playtime attributes */ STDMETHOD(UpdatePlayTimes) (THIS_ IHXValues* pProps); /************************************************************************ * * IHXValues methods */ /* * Note: That strings returned as references should be copied or * used immediately because their lifetime is only as long as the * IHXValues's objects lifetime. * * Note: Your iterator will be reset once you give up control to the * Helix core (i.e. you exit whatever function gave you a time slice). */ STDMETHOD(SetPropertyULONG32) (THIS_ const char* pPropertyName, ULONG32 uPropertyValue); STDMETHOD(GetPropertyULONG32) (THIS_ const char* pPropertyName, REF(ULONG32) uPropertyName); STDMETHOD(GetFirstPropertyULONG32) (THIS_ REF(const char*) pPropertyName, REF(ULONG32) uPropertyValue); STDMETHOD(GetNextPropertyULONG32) (THIS_ REF(const char*) pPropertyName, REF(ULONG32) uPropertyValue); STDMETHOD(SetPropertyBuffer) (THIS_ const char* pPropertyName, IHXBuffer* pPropertyValue); STDMETHOD(GetPropertyBuffer) (THIS_ const char* pPropertyName, REF(IHXBuffer*) pPropertyValue); STDMETHOD(GetFirstPropertyBuffer) (THIS_ REF(const char*) pPropertyName, REF(IHXBuffer*) pPropertyValue); STDMETHOD(GetNextPropertyBuffer) (THIS_ REF(const char*) pPropertyName, REF(IHXBuffer*) pPropertyValue); STDMETHOD(SetPropertyCString) (THIS_ const char* pPropertyName, IHXBuffer* pPropertyValue); STDMETHOD(GetPropertyCString) (THIS_ const char* pPropertyName, REF(IHXBuffer*) pPropertyValue); STDMETHOD(GetFirstPropertyCString) (THIS_ REF(const char*) pPropertyName, REF(IHXBuffer*) pPropertyValue); STDMETHOD(GetNextPropertyCString) (THIS_ REF(const char*) pPropertyName, REF(IHXBuffer*) pPropertyValue); /************************************************************************ * Method: * HXxSubclassingWindow::Draw * Purpose: * TBD */ virtual void Draw(); void OnLbuttonUp(INT16 fwKeys, INT16 xPos, INT16 yPos); BOOL OnMouseMove(INT16 fwKeys, INT16 xPos, INT16 yPos);#if defined(_UNIX) && (!(defined(_BEOS))) && (!(defined(_MAC_UNIX))) /************************************************************************ * X11 member access */ inline Pixmap GetPixmap() { return m_Pixmap; } inline Display* GetPixmapDisplay() { return m_pPixmapDisplay; }#endif};#endif // ndef _RTRENDER_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -