//----------------------------------------- //----------------------------------------- void State::Suspend() { OnSuspend(); m_scene->SuspendEntities(); s32 numSystems = m_systems.size(); for(s32 i=numSystems-1; i>=0; --i) { m_systems[i]->OnSuspend(); } }
LRESULT GameBase::MessageHandler( UINT msg, WPARAM wparam, LPARAM lparam ) { switch (msg) { case WM_CLOSE: DestroyWindow( m_hwnd ); break; case WM_DESTROY: OnShutdown(); PostQuitMessage(0); break; case WM_KEYDOWN: if (!(lparam & 0x40000000)) // Prevent auto-repeat { OnKeyDown( wparam ); } break; case WM_KEYUP: OnKeyUp( wparam ); break; case WM_LBUTTONDOWN: OnStylusDown( Point( LOWORD(lparam), HIWORD(lparam) ) ); break; case WM_LBUTTONUP: OnStylusUp( Point( LOWORD(lparam), HIWORD(lparam) ) ); break; case WM_MOUSEMOVE: OnStylusMove( Point( LOWORD(lparam), HIWORD(lparam) ) ); break; case WM_ACTIVATE: if (LOWORD(wparam) == WA_INACTIVE) { m_bSuspended = true; OnSuspend(); } else { m_bSuspended = false; OnResume(); } break; } return DefWindowProc( m_hwnd, msg, wparam, lparam ); }
BOOL CBaseScreen::OnWndProc(void* /*pi*/, AEEEvent eCode , uint16 wParam , uint32 dwParam) // 窗口主消息处理函数 { BOOL bRet = FALSE; switch (eCode) { case EVT_KEY_PRESS: { bRet = OnKeyPressed(wParam); } break; case EVT_KEY_RELEASE: { bRet = OnKeyReleased(wParam); } break; case EVT_KEY_HELD: { //注意这条消息没有处理 } break; case EVT_APP_SUSPEND: { bRet = OnSuspend(); } break; case EVT_APP_RESUME: { bRet = OnResume(); } break; case EVT_EXT_PEN_PRESS: { bRet = OnPointerPressed((int)wParam, (int)dwParam); } break; case EVT_EXT_PEN: { bRet = OnPointerDragged((int)wParam, (int)dwParam); } break; case EVT_EXT_PEN_RELEASE: { bRet = OnPointerReleased((int)wParam, (int)dwParam); } break; default: break; } return bRet; }
LRESULT CPowerEventHandler:: OnPowerEvent(WPARAM wParam, LPARAM lParam) { DPInfo(_FT("%s\n"), PBT_String(wParam)); switch (wParam) { case PBT_APMBATTERYLOW: // Battery power is low. OnBatteryLow(); return TRUE; case PBT_APMOEMEVENT: // OEM-defined event occurred. OnOemEvent(static_cast<DWORD>(lParam)); return TRUE; case PBT_APMPOWERSTATUSCHANGE: // Power status has changed. OnPowerStatusChange(); return TRUE; case PBT_APMQUERYSUSPEND: // Request for permission to suspend. return OnQuerySuspend(static_cast<DWORD>(lParam)); case PBT_APMQUERYSUSPENDFAILED: // Suspension request denied. OnQuerySuspendFailed(); return TRUE; case PBT_APMRESUMEAUTOMATIC: // Operation resuming automatically after event. OnResumeAutomatic(); return TRUE; case PBT_APMRESUMECRITICAL: // Operation resuming after critical suspension. OnResumeCritical(); return TRUE; case PBT_APMRESUMESUSPEND: // Operation resuming after suspension. OnResumeSuspend(); return TRUE; case PBT_APMSUSPEND: // System is suspending operation. OnSuspend(); return TRUE; } return TRUE; }
void Application::Suspend() { OnSuspend(); }
//============================================================ // <T>服务器挂起操作。</T> // // @return 处理结果 //============================================================ TResult FServer::Suspend(){ MO_INFO("Server '%s' suspend.", (TCharC*)_name); return OnSuspend(); }