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

virtual void Impala::Application::MediaTable::GridWindow::DisplayFunc (  )  [inline, virtual]

Reimplemented from OglGui::Window.

Definition at line 423 of file GridWindow.h.

References OglGui::Window::DisplayFunc(), Impala::Application::MediaTable::TableDataView::GetEndRow(), Impala::Application::MediaTable::TableDataView::GetMark(), Impala::Application::MediaTable::TableDataViewController::GetTableDataView(), GetXYForRow(), Impala::Application::MediaTable::TableDataView::MarkAllRows(), Impala::Application::MediaTable::TableDataView::MarkRow(), Impala::Application::MediaTable::TableDataViewController::MarkToColor(), mCache, mGridHeight, mGridWidth, mMouseXE, mMouseXS, mMouseYE, mMouseYS, mSelecting, Impala::Application::MediaTable::TableViewCache::ProcessDelayLoad(), UpdateGrid(), and OglGui::OglWindow::UpdateScene().

00424     {
00425         OGC     myOGC;
00426         OGCSave(&myOGC);
00427 
00428         UpdateGrid();
00429 
00430         if (mCache && mCache->ProcessDelayLoad())
00431             UpdateScene();
00432 
00433         int mcx, mcy, mcw, mch;
00434         if (mSelecting)
00435         {
00436             mcx = (mMouseXS < mMouseXE) ? mMouseXS : mMouseXE;
00437             mcw = (mMouseXS < mMouseXE) ? mMouseXE-mMouseXS : mMouseXS-mMouseXE;
00438             mcy = (mMouseYS < mMouseYE) ? mMouseYS : mMouseYE;
00439             mch = (mMouseYS < mMouseYE) ? mMouseYE-mMouseYS : mMouseYS-mMouseYE;
00440             GetTableDataView()->MarkAllRows(1, false);
00441         }
00442 
00443         for (int row = GetTableDataView()->GetStartRow(); row < GetTableDataView()->GetEndRow(); row++)
00444         {
00445             int px=0, py=0;
00446             GetXYForRow(row, px, py);
00447             
00448             if (mSelecting && mcy < py+mGridHeight && py < mcy + mch &&
00449                 mcx < px+mGridWidth && px < mcx + mcw)
00450             {
00451                     GetTableDataView()->MarkRow(row, 1);
00452             }
00453 
00454             int mark = GetTableDataView()->GetMark(row);
00455             if (mark)
00456             {
00457                 SetSolidFillColor(MarkToColor(mark));
00458                 FillRectangle(px-1, py-1, mGridWidth+2, mGridHeight+2);
00459             }
00460         }
00461 
00462         if (mSelecting)
00463         {
00464             // draw the current mouse selection:
00465             SetStipple((short)oglSolid);
00466             SetLineWidth(2.0f);
00467             SetSolidLineColor(0xff444466);
00468             DrawRectangle(mcx,mcy,mcw,mch);
00469         }
00470 
00471         OGCRestore(&myOGC);
00472         Window::DisplayFunc();
00473     }

Here is the call graph for this function:


Generated on Fri Mar 19 10:42:47 2010 for ImpalaSrc by  doxygen 1.5.1