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

📄 fg__rect_8cpp-source.html

📁 《道法自然》书的源码FishGUI,一个跨平台的界面库
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>FishGUI: FG_Rect.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- 制作者 Doxygen 1.3.6 --><div class="qindex"><a class="qindex" href="main.html">首页</a> | <a class="qindex" href="modules.html">模块</a> | <a class="qindex" href="hierarchy.html">类继承关系</a> | <a class="qindex" href="classes.html">按字典顺序排序的列表</a> | <a class="qindex" href="annotated.html">组合类型列表</a> | <a class="qindex" href="files.html">文件列表</a> | <a class="qindex" href="functions.html">组合类型成员</a> | <a class="qindex" href="globals.html">文件成员</a></div><h1>FG_Rect.cpp</h1><a href="FG__Rect_8cpp.html">浏览该文件的文档。</a><div class="fragment"><pre>00001 <span class="comment">/*--------------------------------------------------------------------------</span>00002 <span class="comment"></span>00003 <span class="comment">        FG_Rect.cpp - 矩形结构的实现文件</span>00004 <span class="comment"></span>00005 <span class="comment">        本程序是FishGUI软件的一部分</span>00006 <span class="comment"></span>00007 <span class="comment">        版权所有 (C) 2003,2004 王咏武</span>00008 <span class="comment">        http://www.contextfree.net/wangyw/</span>00009 <span class="comment"></span>00010 <span class="comment">----------------------------------------------------------------------------</span>00011 <span class="comment"></span>00012 <span class="comment">        作者对 FishGUI 软件及其所有源代码授权如下:</span>00013 <span class="comment"></span>00014 <span class="comment">        允许任何个人、组织、机构、企业无偿获得、修改、使用、重新发布 FishGUI 软</span>00015 <span class="comment">        件及其源代码,或按照有偿或者无偿的方式发行基于 FishGUI 源代码的全部或部</span>00016 <span class="comment">        分内容开发的软件产品,——但行使以上权利时,须遵守以下约定:</span>00017 <span class="comment"></span>00018 <span class="comment">        1、重新发布 FishGUI 软件及其源代码时,不得隐去软件及其源代码中原有的版</span>00019 <span class="comment">           权信息和开发者标识。</span>00020 <span class="comment"></span>00021 <span class="comment">        2、发行基于 FishGUI 源代码的全部或部分内容开发的软件产品时,必须在产品</span>00022 <span class="comment">           的显著位置标明以下字样:</span>00023 <span class="comment"></span>00024 <span class="comment">           【本产品的一部分功能是基于王咏武在 FishGUI 软件中的工作完成的】</span>00025 <span class="comment"></span>00026 <span class="comment">        3、在正式出版物中引用 FishGUI 的文档、源代码或注释内容的,应注明软件的</span>00027 <span class="comment">           原作者为王咏武。</span>00028 <span class="comment"></span>00029 <span class="comment">--------------------------------------------------------------------------*/</span>00040 <span class="preprocessor">#include "<a class="code" href="FG__Rect_8h.html">FG_Rect.h</a>"</span>00041 00042 <span class="comment">//##ModelId=3F4EC478035B</span><a name="l00043"></a><a class="code" href="structFG__Rect.html#a4">00043</a> <span class="keywordtype">bool</span> <a class="code" href="structFG__Rect.html#a4">FG_Rect::Contains</a>(<span class="keyword">const</span> <a class="code" href="structFG__Point.html">FG_Point</a> Test)<span class="keyword"> const</span>00044 <span class="keyword"></span>{00045     <span class="keywordflow">if</span> (Test.<a class="code" href="structFG__Point.html#o0">x</a> &gt;= <a class="code" href="structFG__Rect.html#o0">wLeft</a> &amp;&amp;00046         Test.<a class="code" href="structFG__Point.html#o0">x</a> &lt;= <a class="code" href="structFG__Rect.html#o2">wRight</a> &amp;&amp;00047         Test.<a class="code" href="structFG__Point.html#o1">y</a> &gt;= <a class="code" href="structFG__Rect.html#o1">wTop</a> &amp;&amp;00048         Test.<a class="code" href="structFG__Point.html#o1">y</a> &lt;= <a class="code" href="structFG__Rect.html#o3">wBottom</a>)00049     {00050         <span class="keywordflow">return</span> <span class="keyword">true</span>;00051     }00052     <span class="keywordflow">return</span> <span class="keyword">false</span>;00053 }00054 00055 <span class="comment">//##ModelId=3F4EC47803B5</span><a name="l00056"></a><a class="code" href="structFG__Rect.html#a5">00056</a> <span class="keywordtype">bool</span> <a class="code" href="structFG__Rect.html#a4">FG_Rect::Contains</a>(<span class="keyword">const</span> <span class="keywordtype">short</span> x, <span class="keyword">const</span> <span class="keywordtype">short</span> y)<span class="keyword"> const</span>00057 <span class="keyword"></span>{00058     <span class="keywordflow">if</span> (x &gt;= <a class="code" href="structFG__Rect.html#o0">wLeft</a> &amp;&amp;00059         x &lt;= <a class="code" href="structFG__Rect.html#o2">wRight</a> &amp;&amp;00060         y &gt;= <a class="code" href="structFG__Rect.html#o1">wTop</a> &amp;&amp;00061         y &lt;= <a class="code" href="structFG__Rect.html#o3">wBottom</a>)00062     {00063         <span class="keywordflow">return</span> <span class="keyword">true</span>;00064     }00065     <span class="keywordflow">return</span> <span class="keyword">false</span>;00066 }00067 00068 <span class="comment">//##ModelId=3F4EC4790059</span><a name="l00069"></a><a class="code" href="structFG__Rect.html#a6">00069</a> <span class="keywordtype">bool</span> <a class="code" href="structFG__Rect.html#a4">FG_Rect::Contains</a>(<span class="keyword">const</span> <a class="code" href="structFG__Rect.html">FG_Rect</a> &amp; Rect)<span class="keyword"> const</span>00070 <span class="keyword"></span>{00071     <span class="keywordflow">if</span> (Rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a> &gt;= <a class="code" href="structFG__Rect.html#o0">wLeft</a> &amp;&amp;00072         Rect.<a class="code" href="structFG__Rect.html#o2">wRight</a> &lt;= <a class="code" href="structFG__Rect.html#o2">wRight</a> &amp;&amp;00073         Rect.<a class="code" href="structFG__Rect.html#o1">wTop</a> &gt;= <a class="code" href="structFG__Rect.html#o1">wTop</a> &amp;&amp;00074         Rect.<a class="code" href="structFG__Rect.html#o3">wBottom</a> &lt;= <a class="code" href="structFG__Rect.html#o3">wBottom</a>)00075     {00076         <span class="keywordflow">return</span> <span class="keyword">true</span>;00077     }00078     <span class="keywordflow">return</span> <span class="keyword">false</span>;00079 }00080 00081 <span class="comment">//##ModelId=3F4EC47900C7</span><a name="l00082"></a><a class="code" href="structFG__Rect.html#a7">00082</a> <span class="keywordtype">bool</span> <a class="code" href="structFG__Rect.html#a7">FG_Rect::Overlap</a>(<span class="keyword">const</span> <a class="code" href="structFG__Rect.html">FG_Rect</a> &amp; Rect)<span class="keyword"> const</span>00083 <span class="keyword"></span>{00084     <span class="keywordflow">if</span> (Rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a> &lt;= <a class="code" href="structFG__Rect.html#o2">wRight</a> &amp;&amp;00085         Rect.<a class="code" href="structFG__Rect.html#o1">wTop</a> &lt;= <a class="code" href="structFG__Rect.html#o3">wBottom</a> &amp;&amp;00086         Rect.<a class="code" href="structFG__Rect.html#o3">wBottom</a> &gt;= <a class="code" href="structFG__Rect.html#o1">wTop</a> &amp;&amp;00087         Rect.<a class="code" href="structFG__Rect.html#o2">wRight</a> &gt;= <a class="code" href="structFG__Rect.html#o0">wLeft</a>)00088     {00089         <span class="keywordflow">return</span> <span class="keyword">true</span>;00090     }00091     <span class="keywordflow">return</span> <span class="keyword">false</span>;00092 }00093 00094 <span class="comment">//##ModelId=3F4EC479012B</span><a name="l00095"></a><a class="code" href="structFG__Rect.html#a8">00095</a> <span class="keywordtype">void</span> <a class="code" href="structFG__Rect.html#a8">FG_Rect::MoveTo</a>(<span class="keyword">const</span> <span class="keywordtype">short</span> x, <span class="keyword">const</span> <span class="keywordtype">short</span> y)00096 {00097     <span class="keywordtype">short</span> xShift = x - <a class="code" href="structFG__Rect.html#o0">wLeft</a>;00098     <span class="keywordtype">short</span> yShift = y - <a class="code" href="structFG__Rect.html#o1">wTop</a>;00099     <a class="code" href="structFG__Rect.html#a9">Shift</a>(xShift, yShift);00100 }00101 00102 <span class="comment">//##ModelId=3F4EC47901C2</span><a name="l00103"></a><a class="code" href="structFG__Rect.html#a9">00103</a> <span class="keywordtype">void</span> <a class="code" href="structFG__Rect.html#a9">FG_Rect::Shift</a>(<span class="keyword">const</span> <span class="keywordtype">short</span> xShift, <span class="keyword">const</span> <span class="keywordtype">short</span> yShift)00104 {00105     <a class="code" href="structFG__Rect.html#o0">wLeft</a> += xShift;00106     <a class="code" href="structFG__Rect.html#o2">wRight</a> += xShift;00107     <a class="code" href="structFG__Rect.html#o1">wTop</a> += yShift;00108     <a class="code" href="structFG__Rect.html#o3">wBottom</a> += yShift;00109 }00110 00111 <span class="comment">//##ModelId=3F4EC4790258</span><a name="l00112"></a><a class="code" href="structFG__Rect.html#a10">00112</a> <a class="code" href="structFG__Rect.html">FG_Rect</a> &amp; <a class="code" href="structFG__Rect.html#a10">FG_Rect::operator &amp;= </a>(<span class="keyword">const</span> <a class="code" href="structFG__Rect.html">FG_Rect</a> &amp; Rect)00113 {00114     <span class="keywordflow">if</span> (Rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a> &gt; <a class="code" href="structFG__Rect.html#o0">wLeft</a>)00115     {00116         <a class="code" href="structFG__Rect.html#o0">wLeft</a> = Rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a>;00117     }00118     <span class="keywordflow">if</span> (Rect.<a class="code" href="structFG__Rect.html#o2">wRight</a> &lt; <a class="code" href="structFG__Rect.html#o2">wRight</a>)00119     {00120         <a class="code" href="structFG__Rect.html#o2">wRight</a> = Rect.<a class="code" href="structFG__Rect.html#o2">wRight</a>;00121     }00122     <span class="keywordflow">if</span> (Rect.<a class="code" href="structFG__Rect.html#o1">wTop</a> &gt; <a class="code" href="structFG__Rect.html#o1">wTop</a>)00123     {00124         <a class="code" href="structFG__Rect.html#o1">wTop</a> = Rect.<a class="code" href="structFG__Rect.html#o1">wTop</a>;00125     }00126     <span class="keywordflow">if</span> (Rect.<a class="code" href="structFG__Rect.html#o3">wBottom</a> &lt; <a class="code" href="structFG__Rect.html#o3">wBottom</a>)00127     {00128         <a class="code" href="structFG__Rect.html#o3">wBottom</a> = Rect.<a class="code" href="structFG__Rect.html#o3">wBottom</a>;00129     }00130     <span class="keywordflow">return</span> * <span class="keyword">this</span>;00131 }00132 00133 <span class="comment">//##ModelId=3F4EC47902B2</span><a name="l00134"></a><a class="code" href="structFG__Rect.html#a11">00134</a> <a class="code" href="structFG__Rect.html">FG_Rect</a> &amp; <a class="code" href="structFG__Rect.html#a11">FG_Rect::operator |= </a>(<span class="keyword">const</span> <a class="code" href="structFG__Rect.html">FG_Rect</a> &amp; Rect)00135 {00136     <span class="keywordflow">if</span> (<a class="code" href="structFG__Rect.html#o0">wLeft</a> &gt; Rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a>)00137     {00138         <a class="code" href="structFG__Rect.html#o0">wLeft</a> = Rect.<a class="code" href="structFG__Rect.html#o0">wLeft</a>;

⌨️ 快捷键说明

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