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

virtual void Impala::Application::VideoExcel::TableWindow::DisplayFunc (  )  [inline, virtual]

Reimplemented from OglGui::Window.

Definition at line 508 of file TableWindow.h.

References OglGui::Window::DisplayFunc(), OglGui::OglWindow::GetDimensions(), Impala::Application::VideoExcel::TableDataSource::GetEndRow(), Impala::Application::VideoExcel::TableColumn::GetHeaderHeight(), Impala::Application::VideoExcel::TableDataSource::GetMark(), Impala::Application::VideoExcel::TableDataSource::GetRowHeight(), Impala::Application::VideoExcel::TableDataSource::GetStartRow(), OglGui::OglWindow::H(), HandleZoomView(), Impala::Application::VideoExcel::TableDataSource::MarkAllRows(), Impala::Application::VideoExcel::TableDataSource::MarkRow(), MarkToColor(), mColumns, mMouseXE, mMouseXS, mMouseYE, mMouseYS, mSelecting, mSource, and OglGui::OglWindow::W().

00509     {
00510         OGC     myOGC;
00511         OGCSave(&myOGC);
00512 
00513         int h = H(), w = W();
00514         int mx = 0, my = 0;
00515         int cx, cy, cw, ch;
00516         int mcx, mcy, mcw, mch;
00517 
00518         if (mSelecting)
00519         {
00520             mcx = (mMouseXS < mMouseXE) ? mMouseXS : mMouseXE;
00521             mcw = (mMouseXS < mMouseXE) ? mMouseXE-mMouseXS : mMouseXS-mMouseXE;
00522             mcy = (mMouseYS < mMouseYE) ? mMouseYS : mMouseYE;
00523             mch = (mMouseYS < mMouseYE) ? mMouseYE-mMouseYS : mMouseYS-mMouseYE;
00524             mSource->MarkAllRows(1, false);
00525         }
00526 
00527         SetStipple((short)oglDot);
00528         SetSolidLineColor(0xff777777);
00529         for (int x = 0; x < mColumns.size(); x++)
00530         {
00531             mColumns[x]->GetDimensions(cx,cy,cw,ch);
00532             mx += cw + 2;
00533             DrawLine(mx, 0, mx, h);
00534         }
00535         int hheight = TableColumn::GetHeaderHeight();
00536         my = hheight;
00537         for (int y = mSource->GetStartRow(); y < mSource->GetEndRow(); y++)
00538         {
00539             my += mSource->GetRowHeight(y);
00540 
00541             if (mSelecting && (mcy < (h-my) && (h-my) < mcy + mch))
00542                 mSource->MarkRow(y, 1);
00543 
00544             int mark = mSource->GetMark(y);
00545             if (mark)
00546             {
00547                 int markCol = MarkToColor(mark); // RvB: To prevent 4 calls
00548                 SetSolidFillColor(markCol);
00549                 FillRectangle(0, h - my, w - 20, mSource->GetRowHeight(y));
00550             }
00551 
00552             DrawLine(0, h - my, w - 20, h - my);
00553         }
00554 
00555         SetStipple((short)oglSolid);
00556         DrawLine(0, h - hheight, w - 20, h - hheight);
00557         DrawLine(w - 20, 0, w - 20, h - hheight);
00558 
00559         if (mSelecting)
00560         {
00561             // draw the current mouse selection:
00562             SetStipple((short)oglSolid);
00563             SetLineWidth(2.0f);
00564             SetSolidLineColor(0xff444466);
00565             DrawRectangle(mcx,mcy,mcw,mch);
00566         }
00567 
00568         OGCRestore(&myOGC);
00569         HandleZoomView();
00570         Window::DisplayFunc();
00571     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:16:51 2011 for ImpalaSrc by  doxygen 1.5.1