Reimplemented from OglGui::Window. Definition at line 122 of file DropDownWindow.h. References OglGui::Window::DisplayFunc(), OglGui::OglWindow::GetDimensions(), OglGui::OglWindow::GetOGLWND(), mChildWindows, mClosedHeight, OglGui::Window::mForeGroundColor, mHeaderHeight, mHeaderWindow, mIsDropped, mLinePattern, mShowLines, mSpacing, OglGui::OglWindow::SetDimensions(), OglGui::OglWindow::WndHeight(), OglGui::OglWindow::WndX(), and OglGui::OglWindow::WndY(). 00123 { 00124 OGC myOGC; 00125 int curY = WndHeight(); 00126 int nY = curY-mHeaderHeight-2, nW = 0, nH = 0; 00127 int lineX, topLineY = nY; 00128 bool itemLines = (mShowLines && mIsDropped); 00129 00130 mHeaderWindow->SetDimensions(RETAIN, nY, RETAIN, mHeaderHeight); 00131 00132 if (mShowLines) 00133 { 00134 OGCSave(&myOGC); 00135 SetStipple(mLinePattern); 00136 SetSolidLineColor(mForeGroundColor); 00137 lineX = mHeaderWindow->WndX(); 00138 DrawLine(lineX, nY+7, 0, nY+7); 00139 lineX += 6; 00140 } 00141 00142 for (int i=0 ; i < (int) mChildWindows.size() ; i++) 00143 { 00144 int cX, cY, cW, cH; 00145 Window* child = mChildWindows[i]; 00146 00147 if (!HasTags((TAGABLE*)child->GetOGLWND(), visibleTag)) 00148 continue; 00149 00150 child->GetDimensions(cX,cY,cW,cH); 00151 00152 nH += cH + ((i==0) ? 4 : mSpacing); 00153 curY -= cH + ((i==0) ? 4 : mSpacing); 00154 00155 child->SetDimensions(RETAIN, curY, RETAIN, RETAIN); 00156 00157 if ((i>0) && itemLines) 00158 { 00159 if (lineX < cX ) 00160 DrawLine(lineX, curY+cH-11, cX-2, curY+cH-11); 00161 if (lineX > cX+cW) 00162 DrawLine(lineX, curY+cH-11, cX+cW+2, curY+cH-11); 00163 nY = curY+cH-9; 00164 } 00165 00166 if ((i<1) || (mIsDropped && (nW < cX+cW))) 00167 nW = cX+cW; 00168 } 00169 if (itemLines) 00170 DrawLine(lineX, nY, lineX, topLineY); 00171 00172 nY = WndY() + WndHeight() - (mIsDropped ? nH : mClosedHeight); 00173 nH = mIsDropped ? nH : mClosedHeight; 00174 00175 SetDimensions(WndX(), nY, nW+2, nH); 00176 00177 if (mShowLines) OGCRestore(&myOGC); 00178 00179 Window::DisplayFunc(); 00180 }
Here is the call graph for this function:
|