EXPORT_C CSDL::~CSDL() { RWindow* win = EpocSdlEnv::Window(); if(win != NULL) win->FreePointerMoveBuffer(); gEpocEnv->Free(); gEpocEnv->Delete(); User::Free(gEpocEnv); gEpocEnv = NULL; }
EXPORT_C void CSDL::SetContainerWindowL(RWindow& aWindow, RWsSession& aSession, CWsScreenDevice& aDevice) { if(gEpocEnv->iDsa == NULL) gEpocEnv->iDsa = CDsa::CreateL(aSession); aWindow.DisablePointerMoveBuffer(); aWindow.FreePointerMoveBuffer(); aWindow.PointerFilter(EPointerFilterDrag,0); if(!EnvUtils::IsOwnThreaded()) { aWindow.AllocPointerMoveBuffer(KPointerBufferSize, 0); aWindow.EnablePointerMoveBuffer(); } gEpocEnv->iDsa->ConstructL(aWindow, aDevice); }