示例#1
0
VOID CUIWindowItem::Show(BOOL bShow)
{
	if(bShow == m_bShow || !m_pWindow) return;
			
	//显示
	if(bShow)
	{
		g_pSoundSystem->PlayUISoundDirect( m_nIDOpenWindow );
		m_pWindow->show();
		//如果看不见,那么自动归位
		if( !m_pWindow->isCanVisible() )
		{
			OnSizeChange();
		}
		m_pWindow->activate();
	}
	else
	{
		g_pSoundSystem->PlayUISoundDirect( m_nIDCloseWindow );
		m_pWindow->hide();

		//响应窗口关闭时一些附加处理
		onWindowHidden();
	}

	//防止屏幕闪烁
	CUIWindowMng::GetClientScreen()->requestRedraw();
	
	m_bShow = bShow;
	// 禅让窗口,无论显示还是关闭窗口,都需要进行禅让窗口更新
}
示例#2
0
VOID CUIWindowItem::Show(BOOL bShow)
{
	if(bShow == m_bShow) return;


	//显示
	if(bShow)
	{
		m_pWindow->show();
		m_pWindow->activate();
	}
	else
	{
		m_pWindow->hide();

		//响应窗口关闭时一些附加处理
		onWindowHidden();
	}

	//防止屏幕闪烁
	CUIWindowMng::GetClientScreen()->requestRedraw();

	
	m_bShow = bShow;
	// 禅让窗口,无论显示还是关闭窗口,都需要进行禅让窗口更新
}
示例#3
0
void SDLEventHandler::onWindowEvent(const SDL_WindowEvent& e)
{
    /*
     *SDL provides two "resize" events.
     * Warp Drive only provides treatment for the "resize request"
     * type, for the moment. Should it prove useful, this will be ammended
     */
    if (e.windowID != SDL_GetWindowID(DisplayManager::instance()->getScreen()))
    {
        return;
    }

    switch (e.event)
    {
        case SDL_WINDOWEVENT_SHOWN:
            onWindowShown(e);
            break;
        case SDL_WINDOWEVENT_HIDDEN:
            onWindowHidden(e);
            break;
        case SDL_WINDOWEVENT_EXPOSED:
            onWindowExposed(e);
            break;
        case SDL_WINDOWEVENT_MOVED:
            onWindowMoved(e);
            break;
        case SDL_WINDOWEVENT_SIZE_CHANGED:
            onWindowResized(e);
            break;
        case SDL_WINDOWEVENT_MINIMIZED:
            onWindowMinimized(e);
            break;
        case SDL_WINDOWEVENT_MAXIMIZED:
            onWindowMaximized(e);
            break;
        case SDL_WINDOWEVENT_RESTORED:
            onWindowRestored(e);
            break;
        case SDL_WINDOWEVENT_ENTER:
            onMouseEntered(e);
            break;
        case SDL_WINDOWEVENT_LEAVE:
            onMouseLeft(e);
            break;
        case SDL_WINDOWEVENT_FOCUS_GAINED:
            onKeyboardFocus(e);
            break;
        case SDL_WINDOWEVENT_FOCUS_LOST:
            onKeyboardFocusLost(e);
            break;
        case SDL_WINDOWEVENT_CLOSE:
            onWindowCloseRequest(e);
            break;
    default:
        // Unexpected event type!
        assert(0);
        break;
    }
}