⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layevent.cpp

📁 linux下的一款播放器
💻 CPP
📖 第 1 页 / 共 2 页
字号:
BOOL CSmilShowSiteEvent::getShowSite(){    return m_bShowSite;}const char* CSmilShowSiteEvent::getMediaID(){    return (const char*) m_MediaID;}const char* CSmilShowSiteEvent::getRegionID(){    return (const char*) m_RegionID;}#if defined(HELIX_FEATURE_SMIL2_TRANSITIONS)CSmilTransitionEvent::CSmilTransitionEvent(UINT32                 ulEventTime,                                           SMILPlayToAssoc*       pAssoc,                                           SMILSiteInfo*          pSiteInfo,                                           BOOL                   bBeginTransition,                                           CSmilDocumentRenderer* pRenderer) :    CSmilLayoutEvent(pAssoc->m_uGroupIndex, ulEventTime, FALSE){    m_pDocRenderer = pRenderer;    m_pPlayToAssoc = pAssoc;    m_pSiteInfo    = pSiteInfo;    m_pSite        = NULL;    if (m_pDocRenderer)    {        m_pDocRenderer->AddRef();    }    if (bBeginTransition)    {        m_type = eBeginTransition;    }    else    {        m_type = eEndTransition;    }}CSmilTransitionEvent::CSmilTransitionEvent(UINT32                 ulEventTime,                                           SMILPlayToAssoc*       pAssoc,                                           IHXSite*              pSite,                                           BOOL                   bBeginTransition,                                           CSmilDocumentRenderer* pRenderer) :    CSmilLayoutEvent(pAssoc->m_uGroupIndex, ulEventTime, FALSE){    m_pDocRenderer = pRenderer;    m_pPlayToAssoc = pAssoc;    m_pSiteInfo    = NULL;    m_pSite        = pSite;    if (m_pDocRenderer)    {        m_pDocRenderer->AddRef();    }    if (m_pSite)    {        m_pSite->AddRef();    }    if (bBeginTransition)    {        m_type = eBeginTransition;    }    else    {        m_type = eEndTransition;    }}CSmilTransitionEvent::~CSmilTransitionEvent(){    HX_RELEASE(m_pDocRenderer);    HX_RELEASE(m_pSite);}HX_RESULT CSmilTransitionEvent::handleEvent(UINT32 ulTime){    MLOG_EVENT(NULL,               "CSmilTransitionEvent::handleEvent(%lu)\n\t"               "m_ulEventTime=%lu\n\tm_uGroupIndex=%u\n\ttick=%lu\n",               ulTime, m_ulEventTime, m_uGroupIndex,               HX_GET_BETTERTICKCOUNT());    HX_RESULT retVal = HXR_FAIL;    if (m_pDocRenderer && m_pPlayToAssoc)    {        CSmilTransitionInfo* pInfo = NULL;        if (m_type == eBeginTransition)        {            pInfo = m_pDocRenderer->getTransition(m_pPlayToAssoc->m_beginTransition);        }        else        {            pInfo = m_pDocRenderer->getTransition(m_pPlayToAssoc->m_endTransition);        }        if (pInfo)        {            if (m_pSiteInfo || m_pSite)            {                retVal = m_pDocRenderer->startTransition(m_ulEventTime, pInfo, m_pSiteInfo,                                                         m_pPlayToAssoc, m_pSite, ulTime,                                                         m_type == eBeginTransition);            }        }    }    return retVal;}IHXSite* CSmilTransitionEvent::getRegionSite(){    return m_pSiteInfo ? m_pSiteInfo->m_pRegionSite   : NULL;}IHXSite* CSmilTransitionEvent::getRendererSite(){    return m_pSiteInfo ? m_pSiteInfo->m_pRendererSite : m_pSite;}#endif /* #if defined(HELIX_FEATURE_SMIL2_TRANSITIONS) */#if defined(HELIX_FEATURE_SMIL2_ANIMATION)CSmilAnimateEvent::CSmilAnimateEvent(UINT16                 uGroupIndex,                                     UINT32                 ulEventTime,                                     BOOL                   bIgnorEvent,                                     CSmilAnimateElement*   pElement,                                     CSmilDocumentRenderer* pDocRenderer,                                     CSmilParser*           pParser)    : CSmilLayoutEvent(uGroupIndex, ulEventTime, bIgnorEvent){    m_type             = eAnimate;    m_pElement         = pElement;    m_pDocRenderer     = pDocRenderer;    m_pSmilParser      = pParser;    m_bEventBasedBegin = (pElement ? pElement->hasEventBasedBeginTime() : FALSE);    m_bHandled         = FALSE;}CSmilAnimateEvent::CSmilAnimateEvent(const CSmilAnimateEvent& rEvent)    : CSmilLayoutEvent(rEvent.m_pElement->m_pNode->m_nGroup,                       rEvent.m_ulEventTime,                       rEvent.m_bIgnorEvent){    m_type             = eAnimate;    m_pElement         = rEvent.m_pElement;    m_pDocRenderer     = rEvent.m_pDocRenderer;    m_pSmilParser      = rEvent.m_pSmilParser;    m_bEventBasedBegin = (m_pElement ? m_pElement->hasEventBasedBeginTime() : FALSE);}CSmilAnimateEvent::~CSmilAnimateEvent(){}HX_RESULT CSmilAnimateEvent::handleEvent(UINT32 ulTime){    MLOG_EVENT(NULL,               "CSmilAnimateEvent::handleEvent(%lu)\n\tm_ulEventTime=%lu\n\t"               "m_uGroupIndex=%u\n\tid=%s\n\ttargetElement=%s\n\t"               "attributeName=%lu\n\ttick=%lu\n",               ulTime, m_ulEventTime, m_uGroupIndex,               (m_pElement && m_pElement->m_pNode ?                (const char*) m_pElement->m_pNode->m_id : "NULL"),               (m_pElement && m_pElement->m_pTargetElementID ?                (const char*) *m_pElement->m_pTargetElementID : "NULL"),               (m_pElement ? m_pElement->m_ucAttributeName : 0),               HX_GET_BETTERTICKCOUNT());    HX_RESULT retVal = HXR_OK;    if (m_pElement && m_pElement->m_pNode &&        !m_pElement->m_bCancelAnimation)    {        // Create the sandwich layer. If this is an        // animateMotion, then we need to create two        // layers, otherwise one        if (m_pElement->m_pNode->m_tag == SMILAnimateMotion)        {            CAnimationSandwichLayer* pLayerLeft =                new CAnimationSandwichLayer(m_pElement, kAttrNameLeft, m_pSmilParser);            if (pLayerLeft)            {                CAnimationSandwichLayer* pLayerTop =                    new CAnimationSandwichLayer(m_pElement, kAttrNameTop, m_pSmilParser);                if (pLayerTop)                {                    retVal = m_pDocRenderer->addAnimation(pLayerLeft);                    if (SUCCEEDED(retVal))                    {                        retVal = m_pDocRenderer->addAnimation(pLayerTop);                    }                }                else                {                    retVal = HXR_OUTOFMEMORY;                }            }            else            {                retVal = HXR_OUTOFMEMORY;            }        }        else        {            CAnimationSandwichLayer* pLayer =                new CAnimationSandwichLayer(m_pElement, m_pElement->m_ucAttributeName, m_pSmilParser);            if (pLayer)            {                retVal = m_pDocRenderer->addAnimation(pLayer);            }            else            {                retVal = HXR_OUTOFMEMORY;            }        }    }    return retVal;}IHXSite* CSmilAnimateEvent::getRegionSite(){    return NULL;}IHXSite* CSmilAnimateEvent::getRendererSite(){    return NULL;}BOOL CSmilAnimateEvent::isSameElement(CSmilAnimateElement* pAnim){    BOOL bRet = FALSE;    if (pAnim && m_pElement &&        pAnim == m_pElement)    {        bRet = TRUE;    }    return bRet;}#endif /* #if defined(HELIX_FEATURE_SMIL2_ANIMATION) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -