⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wg__window_8cpp-source.html

📁 一个小巧的嵌入式图形系统wGUI, 可以用VC编译
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00158           {00159                CApplication::Instance()-&gt;SetKeyFocus(0);00160           }00161      }00162      CMessageServer::Instance().QueueMessage(<span class="keyword">new</span> <a class="code" href="classwGui_1_1CMessage.html">CMessage</a>(CMessage::APP_PAINT, <a class="code" href="classwGui_1_1CWindow.html#a8">GetAncestor</a>(<a class="code" href="classwGui_1_1CWindow.html#s2s0">PARENT</a>), <span class="keyword">this</span>));00163 }00164 00165 <a name="l00166"></a><a class="code" href="classwGui_1_1CWindow.html#a15">00166</a> <span class="keywordtype">void</span> CWindow::SetWindowText(<span class="keyword">const</span> std::string&amp; sText)00167 {00168      <a class="code" href="classwGui_1_1CWindow.html#n0">m_sWindowText</a> = sText;00169      <a class="code" href="classwGui_1_1CWindow.html#a23">StartDrawProc</a>();00170 }00171 00172 <a name="l00173"></a><a class="code" href="classwGui_1_1CWindow.html#a19">00173</a> <span class="keywordtype">void</span> CWindow::DrawBG(<span class="keywordtype">void</span>)<span class="keyword"> const</span>00174 <span class="keyword"></span>{00175      <a class="code" href="classwGui_1_1CPainter.html">CPainter</a> Painter(<a class="code" href="classwGui_1_1CWindow.html#n6">m_pSDLSurface</a>);00176      Painter.<a class="code" href="classwGui_1_1CPainter.html#a5">DrawRect</a>(<a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>, <span class="keyword">true</span>, <a class="code" href="classwGui_1_1CWindow.html#n2">m_BGColor</a>, <a class="code" href="classwGui_1_1CWindow.html#n2">m_BGColor</a>);00177 }00178 00179 <a name="l00180"></a><a class="code" href="classwGui_1_1CWindow.html#a20">00180</a> <span class="keywordtype">void</span> CWindow::Draw(<span class="keywordtype">void</span>)<span class="keyword"> const</span>00181 <span class="keyword"></span>{00182 00183 }00184 00185 <a name="l00186"></a><a class="code" href="classwGui_1_1CWindow.html#a21">00186</a> <span class="keywordtype">void</span> CWindow::DrawChildren(<span class="keywordtype">void</span>)<span class="keyword"> const</span>00187 <span class="keyword"></span>{00188      <span class="keywordflow">for</span> (std::list&lt;CWindow*&gt;::const_iterator iter = <a class="code" href="classwGui_1_1CWindow.html#n5">m_ChildWindows</a>.begin(); iter != <a class="code" href="classwGui_1_1CWindow.html#n5">m_ChildWindows</a>.end(); ++iter)00189      {00190           (*iter)-&gt;DrawProc();00191      }00192 }00193 00194 <a name="l00195"></a><a class="code" href="classwGui_1_1CWindow.html#a22">00195</a> <span class="keywordtype">void</span> CWindow::DrawPostChild(<span class="keywordtype">void</span>)<span class="keyword"> const</span>00196 <span class="keyword"></span>{00197 00198 }00199 00200 <a name="l00201"></a><a class="code" href="classwGui_1_1CWindow.html#a18">00201</a> <span class="keywordtype">void</span> CWindow::DrawProc(<span class="keywordtype">void</span>)<span class="keyword"> const</span>00202 <span class="keyword"></span>{00203      <span class="keywordflow">if</span> (m_bVisible)00204      {00205           <a class="code" href="classwGui_1_1CWindow.html#a19">DrawBG</a>();00206           <a class="code" href="classwGui_1_1CWindow.html#a20">Draw</a>();00207           <a class="code" href="classwGui_1_1CWindow.html#a21">DrawChildren</a>();00208           <a class="code" href="classwGui_1_1CWindow.html#a22">DrawPostChild</a>();00209      }00210 }00211 00212 <a name="l00213"></a><a class="code" href="classwGui_1_1CWindow.html#a23">00213</a> <span class="keywordtype">void</span> CWindow::StartDrawProc(<span class="keywordtype">void</span>)<span class="keyword"> const</span>00214 <span class="keyword"></span>{00215      <span class="keywordflow">if</span> (m_bVisible)00216      {00217           <a class="code" href="classwGui_1_1CWindow.html#a18">DrawProc</a>();00218           SDL_UpdateRect(<a class="code" href="classwGui_1_1CWindow.html#n6">m_pSDLSurface</a>, <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a10">Left</a>(), <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a9">Top</a>(), <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a23">Width</a>(), <a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a24">Height</a>());00219      }00220 }00221 00222 <a name="l00223"></a><a class="code" href="classwGui_1_1CWindow.html#a24">00223</a> <span class="keywordtype">void</span> CWindow::SetNewParent(<a class="code" href="classwGui_1_1CWindow.html">CWindow</a>* pNewParent)00224 {00225      <span class="keywordflow">if</span> (m_pParentWindow)00226      {00227           <a class="code" href="classwGui_1_1CWindow.html#n4">m_pParentWindow</a>-&gt;<a class="code" href="classwGui_1_1CWindow.html#b1">DeregisterChildWindow</a>(<span class="keyword">this</span>);00228      }00229      <span class="keywordflow">if</span> (pNewParent)00230      {00231           pNewParent-&gt;<a class="code" href="classwGui_1_1CWindow.html#b0">RegisterChildWindow</a>(<span class="keyword">this</span>);00232           <a class="code" href="classwGui_1_1CWindow.html#n6">m_pSDLSurface</a> = pNewParent-&gt;<a class="code" href="classwGui_1_1CWindow.html#a8">GetAncestor</a>(<a class="code" href="classwGui_1_1CWindow.html#s2s1">ROOT</a>)-&gt;<a class="code" href="classwGui_1_1CWindow.html#n6">m_pSDLSurface</a>;00233      }00234      <a class="code" href="classwGui_1_1CWindow.html#n4">m_pParentWindow</a> = pNewParent;00235 }00236 00237 <a name="l00238"></a><a class="code" href="classwGui_1_1CWindow.html#a25">00238</a> <span class="keywordtype">bool</span> CWindow::OnMouseButtonDown(<a class="code" href="classwGui_1_1CPoint.html">CPoint</a> Point, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Button)00239 {00240      <span class="keywordtype">bool</span> bResult = <span class="keyword">false</span>;00241 00242      <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CWindow.html#n7">m_bVisible</a> &amp;&amp; (<a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(Point) == CRect::RELPOS_INSIDE))00243      {00244           <span class="keywordflow">for</span> (std::list&lt;CWindow*&gt;::reverse_iterator iter = <a class="code" href="classwGui_1_1CWindow.html#n5">m_ChildWindows</a>.rbegin(); iter != <a class="code" href="classwGui_1_1CWindow.html#n5">m_ChildWindows</a>.rend(); ++iter)00245           {00246                bResult = (*iter)-&gt;OnMouseButtonDown(Point, Button);00247                <span class="keywordflow">if</span> (bResult)00248                {00249                     <span class="keywordflow">break</span>;00250                }00251           }00252      }00253 00254      <span class="keywordflow">return</span> bResult;00255 }00256 00257 <a name="l00258"></a><a class="code" href="classwGui_1_1CWindow.html#a26">00258</a> <span class="keywordtype">bool</span> CWindow::OnMouseButtonUp(<a class="code" href="classwGui_1_1CPoint.html">CPoint</a> Point, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Button)00259 {00260      <span class="keywordtype">bool</span> bResult = <span class="keyword">false</span>;00261 00262      <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CWindow.html#n7">m_bVisible</a> &amp;&amp; (<a class="code" href="classwGui_1_1CWindow.html#n1">m_WindowRect</a>.<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(Point) == CRect::RELPOS_INSIDE))00263      {00264           <span class="keywordflow">for</span> (std::list&lt;CWindow*&gt;::reverse_iterator iter = <a class="code" href="classwGui_1_1CWindow.html#n5">m_ChildWindows</a>.rbegin(); iter != <a class="code" href="classwGui_1_1CWindow.html#n5">m_ChildWindows</a>.rend(); ++iter)00265           {00266                bResult = (*iter)-&gt;OnMouseButtonUp(Point, Button);00267                <span class="keywordflow">if</span> (bResult)00268                {00269                     <span class="keywordflow">break</span>;00270                }00271           }00272      }00273 00274      <span class="keywordflow">return</span> bResult;00275 }00276 00277 <a name="l00278"></a><a class="code" href="classwGui_1_1CWindow.html#b0">00278</a> <span class="keywordtype">void</span> CWindow::RegisterChildWindow(<a class="code" href="classwGui_1_1CWindow.html">CWindow</a>* pWindow)00279 {00280      <a class="code" href="classwGui_1_1CWindow.html#n5">m_ChildWindows</a>.push_back(pWindow);00281 }00282 00283 <a name="l00284"></a><a class="code" href="classwGui_1_1CWindow.html#b1">00284</a> <span class="keywordtype">void</span> CWindow::DeregisterChildWindow(<a class="code" href="classwGui_1_1CWindow.html">CWindow</a>* pWindow)00285 {00286      <a class="code" href="classwGui_1_1CWindow.html#n5">m_ChildWindows</a>.remove(pWindow);00287 }00288 00289 <a name="l00290"></a><a class="code" href="classwGui_1_1CWindow.html#a27">00290</a> <span class="keywordtype">bool</span> CWindow::HandleMessage(<a class="code" href="classwGui_1_1CMessage.html">CMessage</a>* pMessage)00291 {00292      <span class="keywordtype">bool</span> bHandled = <span class="keyword">false</span>;00293 00294      <span class="keywordflow">if</span> (pMessage)00295      {00296           <span class="keywordflow">switch</span>(pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a2">MessageType</a>())00297           {00298           <span class="keywordflow">case</span> CMessage::APP_PAINT :00299                <span class="keywordflow">if</span> (pMessage-&gt;<a class="code" href="classwGui_1_1CMessage.html#a3">Destination</a>() == <span class="keyword">this</span>)00300                {00301                     <a class="code" href="classwGui_1_1CWindow.html#a23">StartDrawProc</a>();00302                     bHandled = <span class="keyword">true</span>;00303                }00304                <span class="keywordflow">break</span>;00305           <span class="keywordflow">default</span> :00306                <span class="keywordflow">break</span>;00307           }00308      }00309 00310      <span class="keywordflow">return</span> bHandled;00311 }00312 00313 00314 }</pre></div><hr><address style="align: right;"><small>Generated on Sat Oct 25 12:43:26 2003 for wGui by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -