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

📄 basesite.cpp

📁 linux下的一款播放器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
        if( m_pTopLevelSite )        {            HXxRect pTmp = { m_topleft.x,                             m_topleft.y,                             m_topleft.x+m_size.cx,                             m_topleft.y+m_size.cy};            m_pTopLevelSite->_RecursiveDamageRect( &pTmp, TRUE );        }    }    if( this == m_pTopLevelSite)    {        RecomputeClip();    }    else    {        if (m_pTopLevelSite)            m_pTopLevelSite->ScheduleCallback(CLIP, 0);    }    _TLSUnlock();    return HXR_OK;}/************************************************************************ *  Method: *    IHXSite2::GetZOrder */STDMETHODIMP CHXBaseSite::GetZOrder(REF(INT32) lZOrder){    lZOrder = m_lZOrder;    HX_ASSERT(m_lZOrder> -1 && m_lZOrder< 2000);    return HXR_OK;}/************************************************************************ *  Method: *    IHXSite2::MoveSiteToTop */STDMETHODIMP CHXBaseSite::MoveSiteToTop(){    SetZOrder(-1); //-1 means the top.    return HXR_OK;}//IHXSubRectSite::GetSubRectVideoSurface()STDMETHODIMP CHXBaseSite::GetSubRectVideoSurface( REF(IHXSubRectVideoSurface*) pSurface ){    HX_RESULT res = HXR_FAIL;    if (m_pVideoSurface)    {        res = m_pVideoSurface->QueryInterface(IID_IHXSubRectVideoSurface,                                              (void**)&pSurface);    }    return res;}/************************************************************************ *  Method: *    IHXSite2::GetVideoSurface */STDMETHODIMP CHXBaseSite::GetVideoSurface(REF(IHXVideoSurface*) pSurface){    HX_RESULT res = HXR_FAIL;    if (m_pVideoSurface)    {        res = m_pVideoSurface->QueryInterface(IID_IHXVideoSurface,                                              (void**)&pSurface);    }    return res;}/************************************************************************ *  Method: *    IHXSite2::GetNumberOfChildSites *            and *    IHXSiteTreeNavigation::GetNumberOfChildSites */STDMETHODIMP_(UINT32) CHXBaseSite::GetNumberOfChildSites(){    HX_ASSERT( m_ChildrenInZOrder.GetCount() == m_ChildrenMap.GetCount() );    return (UINT32)m_ChildrenMap.GetCount();}/************************************************************************ *  Method: *    IHXSite2::AddPassiveSiteWatcher */STDMETHODIMP CHXBaseSite::AddPassiveSiteWatcher(IHXPassiveSiteWatcher* pWatcher){    pWatcher->AddRef();    m_PassiveSiteWatchers.AddTail(pWatcher);    return HXR_OK;}/************************************************************************ *  Method: *    IHXSite2::RemovePassiveSiteWatcher */STDMETHODIMP CHXBaseSite::RemovePassiveSiteWatcher(IHXPassiveSiteWatcher* pWatcher){    // iterate child site list    IHXPassiveSiteWatcher* pThisWatcher = NULL;    LISTPOSITION pPos = m_PassiveSiteWatchers.Find(pWatcher);    HX_RESULT retVal = HXR_FAIL;    if (pPos)    {        m_PassiveSiteWatchers.RemoveAt(pPos);        HX_RELEASE(pWatcher);        retVal = HXR_OK;    }    return retVal;}#if defined(_DEBUG) && !defined(_MACINTOSH) && !defined(_MAC_UNIX)void _PrintKeyboardEventInfo(HXxEvent* pEvent ){    char szBuff[256]; /* Flawfinder: ignore */    if( pEvent->event == HX_CHAR )        _DumpString( "HX_CHAR     " );    if( pEvent->event == HX_KEY_DOWN )        _DumpString( "HX_KEY_DOWN " );    if( pEvent->event == HX_KEY_UP )        _DumpString( "HX_KEY_UP   " );    if( ((UINT32)pEvent->param2)&HX_VIRTUAL_KEY_MASK )    {        _DumpString( " key: " );        switch((UINT32)pEvent->param1 )        {           case HX_VK_LBUTTON       :               _DumpString( "HX_VK_LBUTTON   ");               break;           case HX_VK_RBUTTON       :               _DumpString( "HX_VK_RBUTTON   ");               break;           case HX_VK_CANCEL        :               _DumpString( "HX_VK_CANCEL    ");               break;           case HX_VK_MBUTTON       :               _DumpString( "HX_VK_MBUTTON   ");               break;           case HX_VK_BACK          :               _DumpString( "HX_VK_BACK      ");               break;           case HX_VK_TAB           :               _DumpString( "HX_VK_TAB       ");               break;           case HX_VK_CLEAR         :               _DumpString( "HX_VK_CLEAR     ");               break;           case HX_VK_RETURN        :               _DumpString( "HX_VK_RETURN    ");               break;           case HX_VK_SHIFT         :               _DumpString( "HX_VK_SHIFT     ");               break;           case HX_VK_CONTROL       :               _DumpString( "HX_VK_CONTROL   ");               break;           case HX_VK_MENU          :               _DumpString( "HX_VK_MENU      ");               break;           case HX_VK_PAUSE         :               _DumpString( "HX_VK_PAUSE     ");               break;           case HX_VK_CAPITAL       :               _DumpString( "HX_VK_CAPITAL   ");               break;           case HX_VK_ESCAPE        :               _DumpString( "HX_VK_ESCAPE    ");               break;           case HX_VK_SPACE         :               _DumpString( "HX_VK_SPACE     ");               break;           case HX_VK_PRIOR         :               _DumpString( "HX_VK_PRIOR     ");               break;           case HX_VK_NEXT          :               _DumpString( "HX_VK_NEXT      ");               break;           case HX_VK_END           :               _DumpString( "HX_VK_END       ");               break;           case HX_VK_HOME          :               _DumpString( "HX_VK_HOME      ");               break;           case HX_VK_LEFT          :               _DumpString( "HX_VK_LEFT      ");               break;           case HX_VK_UP            :               _DumpString( "HX_VK_UP        ");               break;           case HX_VK_RIGHT         :               _DumpString( "HX_VK_RIGHT     ");               break;           case HX_VK_DOWN          :               _DumpString( "HX_VK_DOWN      ");               break;           case HX_VK_SELECT        :               _DumpString( "HX_VK_SELECT    ");               break;           case HX_VK_EXECUTE       :               _DumpString( "HX_VK_EXECUTE   ");               break;           case HX_VK_SNAPSHOT      :               _DumpString( "HX_VK_SNAPSHOT  ");               break;           case HX_VK_INSERT        :               _DumpString( "HX_VK_INSERT    ");               break;           case HX_VK_DELETE        :               _DumpString( "HX_VK_DELETE    ");               break;           case HX_VK_HELP          :               _DumpString( "HX_VK_HELP      ");               break;           case HX_VK_LWIN          :               _DumpString( "HX_VK_LWIN      ");               break;           case HX_VK_RWIN          :               _DumpString( "HX_VK_RWIN      ");               break;           case HX_VK_APPS          :               _DumpString( "HX_VK_APPS      ");               break;           case HX_VK_NUMPAD0       :               _DumpString( "HX_VK_NUMPAD0   ");               break;           case HX_VK_NUMPAD1       :               _DumpString( "HX_VK_NUMPAD1   ");               break;           case HX_VK_NUMPAD2       :               _DumpString( "HX_VK_NUMPAD2   ");               break;           case HX_VK_NUMPAD3       :               _DumpString( "HX_VK_NUMPAD3   ");               break;           case HX_VK_NUMPAD4       :               _DumpString( "HX_VK_NUMPAD4   ");               break;           case HX_VK_NUMPAD5       :               _DumpString( "HX_VK_NUMPAD5   ");               break;           case HX_VK_NUMPAD6       :               _DumpString( "HX_VK_NUMPAD6   ");               break;           case HX_VK_NUMPAD7       :               _DumpString( "HX_VK_NUMPAD7   ");               break;           case HX_VK_NUMPAD8       :               _DumpString( "HX_VK_NUMPAD8   ");               break;           case HX_VK_NUMPAD9       :               _DumpString( "HX_VK_NUMPAD9   ");               break;           case HX_VK_MULTIPLY      :               _DumpString( "HX_VK_MULTIPLY  ");               break;           case HX_VK_ADD           :               _DumpString( "HX_VK_ADD       ");               break;           case HX_VK_SEPARATOR     :               _DumpString( "HX_VK_SEPARATOR ");               break;           case HX_VK_SUBTRACT      :               _DumpString( "HX_VK_SUBTRACT  ");               break;           case HX_VK_DECIMAL       :               _DumpString( "HX_VK_DECIMAL   ");               break;           case HX_VK_DIVIDE        :               _DumpString( "HX_VK_DIVIDE    ");               break;           case HX_VK_F1            :               _DumpString( "HX_VK_F1        ");               break;           case HX_VK_F2            :               _DumpString( "HX_VK_F2        ");               break;           case HX_VK_F3            :               _DumpString( "HX_VK_F3        ");               break;           case HX_VK_F4            :               _DumpString( "HX_VK_F4        ");               break;           case HX_VK_F5            :               _DumpString( "HX_VK_F5        ");               break;           case HX_VK_F6            :               _DumpString( "HX_VK_F6        ");               break;           case HX_VK_F7            :               _DumpString( "HX_VK_F7        ");               break;           case HX_VK_F8            :               _DumpString( "HX_VK_F8        ");               break;           case HX_VK_F9            :               _DumpString( "HX_VK_F9        ");               break;           case HX_VK_F10           :               _DumpString( "HX_VK_F10       ");               break;           case HX_VK_F11           :               _DumpString( "HX_VK_F11       ");               break;           case HX_VK_F12           :               _DumpString( "HX_VK_F12       ");               break;           case HX_VK_F13           :               _DumpString( "HX_VK_F13       ");               break;           case HX_VK_F14           :               _DumpString( "HX_VK_F14       ");               break;           case HX_VK_F15           :               _DumpString( "HX_VK_F15       ");               break;           case HX_VK_F16           :               _DumpString( "HX_VK_F16       ");               break;           case HX_VK_F17           :               _DumpString( "HX_VK_F17       ");               break;           case HX_VK_F18           :               _DumpString( "HX_VK_F18       ");               break;           case HX_VK_F19           :               _DumpString( "HX_VK_F19       ");               break;           case HX_VK_F20           :               _DumpString( "HX_VK_F20       ");               break;           case HX_VK_F21           :               _DumpString( "HX_VK_F21       ");               break;           case HX_VK_F22           :               _DumpString( "HX_VK_F22       ");               break;           case HX_VK_F23           :               _DumpString( "HX_VK_F23       ");               break;           case HX_VK_F24           :               _DumpString( "HX_VK_F24       ");               break;           case HX_VK_NUMLOCK       :               _DumpString( "HX_VK_NUMLOCK   ");               break;           case HX_VK_SCROLL        :               _DumpString( "HX_VK_SCROLL    ");               break;           default:               _DumpString( " !! UNKOWN VIRTUAL !! " );        }    }    else    {        sprintf( szBuff, " key: \"%c\" (%d) ", pEvent->param1, pEvent->param1 ); /* Flawfinder: ignore */        _DumpString( szBuff );    }    sprintf( szBuff, "scancode: %d flags: ", ((UINT32)pEvent->param2)&0x000000ff ); /* Flawfinder: ignore */    _DumpString( szBuff );    if( (UINT32)pEvent->param2 & HX_VIRTUAL_KEY_MASK )        _DumpString( "VirtualKey " );    if( (UINT32)pEvent->param2 & HX_EXTENDED_KEY_MASK )        _DumpString( "ExtendedKey " );    if( (UINT32)pEvent->param2 & HX_SHIFT_MASK )        _DumpString( "ShiftKey " );    if( (UINT32)pEvent->param2 & HX_CTRL_MASK )        _DumpString( "ControlKey " );    if( (UINT32)pEvent->param2 & HX_ALT_MASK )        _DumpString( "AltKey " );    if( (UINT32)pEvent->param2 & HX_CAPS_LOCK_MASK )        _DumpString( "CapsLock " );    if( (UINT32)pEvent->param2 & HX_NUM_LOCK_MASK )        _DumpString( "NumLock " );    if( (UINT32)pEvent->param2 & HX_SCROLL_LOCK_MASK )        _DumpString( "ScrollLock " );    _DumpString( "\n" );}#endifCHXBaseSite* CHXBaseSite::_GetSiteFromPixel(HXxPoint& point){    CHXBaseSite* pRet = this;    if( (  m_bSiteNeverBlts ||           m_nEventSensitivity == SENSITIVITY_TRANSPARENT ||           ( m_pVideoSurface &&             m_pVideoSurface->IsPixelTransparent(point, m_nEventSensitivity)             )           ) &&        !(m_nEventSensitivity == SENSITIVITY_OPAQUE )        )    {        //Now go through all the alphablend regions and see who this        //pixel belongs to.        CHXMapPtrToPtr::Iterator i = m_AlphaBlendSites.Begin();        for( ; i!=m_AlphaBlendSites.End() ; ++i)        {            CHXBaseSite* pSite    = (CHXBaseSite*) i.get_key();            HXREGION*      pRegion = (HXREGION*)*i;            if( HXPointInRegion( pRegion, point.x, point.y ) )            {                pRet=pSite->_GetSiteFromPixel(point);                break;            }        }        //If we are transparent here we MUST be blending with someone.        HX_ASSERT( this!=pRet);    }    return pRet;}/************************************************************************ *  Method: *    IHXSiteWindowless::EventOccurred */STDMETHODIMP CHXBaseSite::EventOccurred(HXxEvent* /*IN*/ pEvent){    HX_RESULT hr = HXR_OK;    CHXMapPtrToPtr::Iterator i;    HXxEvent event;    if( NULL == pEvent )    {        return HXR_OK;    }    memcpy(&event, pEvent, sizeof(HXxEvent)); /* Flawfinder: ignore */    AddRef();    if(!_HandleOSEvents(pEvent) && !_ConvertToHXEvent(pEvent) )    {        if( _ConvertToHXEvent(pEvent))        {            Release();       

⌨️ 快捷键说明

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