Reimplemented from OglGui::Window. Definition at line 164 of file StringSelector.h. References cLineHeight, OglGui::Window::DisplayFunc(), mCurrent, mDoTextShadow, mFirstVis, mHighlightBorderType, mHighLightColor, mNrVisible, OglGui::OglWindow::mOglWnd, mShadowColor, mStrings, mTextColor, and OglGui::OglWindow::WndWidth(). 00165 { 00166 Window::DisplayFunc(); 00167 00168 int lH = cLineHeight; 00169 int w = WndWidth(); 00170 OGC oldOGC; 00171 00172 OGCSave(&oldOGC); 00173 00174 // draw the string content 00175 int lastVis = mFirstVis + mNrVisible; 00176 if (lastVis > mStrings.size()) 00177 lastVis = mStrings.size(); 00178 for (int i=mFirstVis ; i<mStrings.size() ; i++) 00179 { 00180 int n = i - mFirstVis; 00181 int y = mOglWnd->height - (n+1) * lH; 00182 if (mDoTextShadow) 00183 oglSys.ShadowPrintf(mOglWnd, lH+2, y+6, mShadowColor, 00184 mTextColor, "%s", mStrings[i].c_str()); 00185 else 00186 oglSys.PosColPrintf(mOglWnd, lH+2, y+6, mTextColor, 00187 "%s", mStrings[i].c_str()); 00188 if (i == mCurrent) 00189 { 00190 int oldBlendInfo[3]; 00191 oglSys.StartBlend(oldBlendInfo); 00192 SetSolidFillColor(mHighLightColor); 00193 FillRectangle(lH, y, w - lH, lH); 00194 oglSys.EndBlend(oldBlendInfo); 00195 if (mHighlightBorderType > 0) 00196 DrawBevRect(mHighlightBorderType, lH, y, w-lH, lH); 00197 else 00198 DrawBevRect(-mHighlightBorderType, lH+3, y+3, lH-6, lH-6); 00199 } 00200 } 00201 OGCRestore(&oldOGC); 00202 }
Here is the call graph for this function:
|