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