Пример #1
0
/**
 *  Verarbeitung Mausrad runter
 *
 *  @param[in] mc Mauskoordinaten Struktur
 *
 *  @author Divan
 */
void WindowManager::Msg_WheelDown(const MouseCoords& mc)
{
    if(!desktop)
        return;
    if(windows.empty())
    {
        desktop->SetActive(true);
        desktop->Msg_WheelDown(mc);
        desktop->RelayMouseMessage(&Window::Msg_WheelDown, mc);
        // und raus
        return;
    }
    if(windows.back()->GetModal())
    {
        windows.back()->Msg_WheelDown(mc);
        windows.back()->RelayMouseMessage(&Window::Msg_WheelDown, mc);
        return;
    }
    IngameWindow* foundWindow = FindWindowUnderMouse(mc);
    windows.back()->SetActive(false);

    if(foundWindow)
    {
        windows.remove(foundWindow);
        windows.push_back(foundWindow);
        foundWindow->SetActive(true);
        foundWindow->Msg_WheelDown(mc);
        foundWindow->RelayMouseMessage(&Window::Msg_WheelDown, mc);
        desktop->SetActive(false);
    }else{
        desktop->SetActive(true);
        desktop->Msg_WheelDown(mc);
        desktop->RelayMouseMessage(&Window::Msg_WheelDown, mc);;
    }
}
Пример #2
0
/**
 *  Verarbeitung Mausrad runter
 *
 *  @param[in] mc Mauskoordinaten Struktur
 */
void WindowManager::Msg_WheelDown(const MouseCoords& mc)
{
    if(!curDesktop)
        return;
    if(windows.empty())
    {
        curDesktop->SetActive(true);
        curDesktop->Msg_WheelDown(mc);
        curDesktop->RelayMouseMessage(&Window::Msg_WheelDown, mc);
        // und raus
        return;
    }
    IngameWindow& activeWnd = *windows.back();
    if(activeWnd.IsModal())
    {
        activeWnd.Msg_WheelDown(mc);
        activeWnd.RelayMouseMessage(&Window::Msg_WheelDown, mc);
        return;
    }
    IngameWindow* foundWindow = FindWindowUnderMouse(mc);
    activeWnd.SetActive(false);

    if(foundWindow)
    {
        windows.remove(foundWindow);
        windows.push_back(foundWindow);
        foundWindow->SetActive(true);
        foundWindow->Msg_WheelDown(mc);
        foundWindow->RelayMouseMessage(&Window::Msg_WheelDown, mc);
        curDesktop->SetActive(false);
    }else{
        curDesktop->SetActive(true);
        curDesktop->Msg_WheelDown(mc);
        curDesktop->RelayMouseMessage(&Window::Msg_WheelDown, mc);;
    }
}