Definition at line 78 of file Sys.h. References CreateThreadWndList(), mCloseOneWndIsCloseAll, mNrWnd, mNrWndMax, mThreadWndList, OglWindowManage(), and Impala::Application::DemoCamera2d::oglWnd. Referenced by Impala::Visualization::AppController::MainLoop(), and MainLoop(). 00079 { 00080 int nWndOld = mNrWnd; 00081 OglWindowManage(mThreadWndList, &mNrWnd); 00082 if (nWndOld != mNrWnd) 00083 { 00084 S_FreeList(mThreadWndList, NULL); 00085 mThreadWndList = CreateThreadWndList(&mNrWnd); 00086 if (mNrWnd > mNrWndMax) 00087 mNrWndMax = mNrWnd; 00088 } 00089 // RvB: QUESTION: WHY HAS NEXT LINE BEEN CHANGED 00090 // ANSWER: NEEDED WHEN CLOSING 1 WINDOW SHOULD CLOSE ALL 00091 // Moet instelbaar worden. Hier in Sys 00092 // ****** 00093 // RvB: Gedaan, maar werkt om een of andere reden niet meer!!!! 00094 // Alternatief is om hier de threadWndList te doorlopen en 00095 // alle Top oglWnd te exitten. Dit lijkt wel te werken 00096 if ((mNrWnd < mNrWndMax) && mCloseOneWndIsCloseAll){ 00097 LIST *obj; 00098 OGLWND *oglWnd; 00099 ForAllElements(obj, mThreadWndList){ 00100 oglWnd = (OGLWND *) obj->info; 00101 oglSys.MakeCurrent(oglWnd); 00102 // wglMakeCurrent(oglWnd->hDC, (HGLRC) oglWnd->hRC); 00103 oglSys.ExitWindow(oglWnd, 0); 00104 } 00105 done = 1; 00106 } 00107 else if (mNrWnd == 0) 00108 done = 1; 00109 return done; 00110 }
Here is the call graph for this function:
|