Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

int OglGui::Sys::WindowManage ( int  done = 0  )  [inline]

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:


Generated on Fri Mar 19 12:07:22 2010 for ImpalaSrc by  doxygen 1.5.1