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

📄 qwt__plot__layout_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00768"></a>00768             <span class="keywordflow">if</span> ( d_data-&gt;layoutData.scale[QwtPlot::yLeft].isEnabled<a name="l00769"></a>00769                 != d_data-&gt;layoutData.scale[QwtPlot::yRight].isEnabled )<a name="l00770"></a>00770             {<a name="l00771"></a>00771                 <span class="comment">// center to the canvas</span><a name="l00772"></a>00772                 w -= dimAxis[QwtPlot::yLeft] + dimAxis[QwtPlot::yRight]; <a name="l00773"></a>00773             }<a name="l00774"></a>00774 <a name="l00775"></a>00775             <span class="keywordtype">int</span> d = d_data-&gt;layoutData.title.text.heightForWidth(w);<a name="l00776"></a>00776             <span class="keywordflow">if</span> ( !(options &amp; IgnoreFrames) )<a name="l00777"></a>00777                 d += 2 * d_data-&gt;layoutData.title.frameWidth;<a name="l00778"></a>00778 <a name="l00779"></a>00779             <span class="keywordflow">if</span> ( d &gt; dimTitle )<a name="l00780"></a>00780             {<a name="l00781"></a>00781                 dimTitle = d;<a name="l00782"></a>00782                 done = <span class="keyword">false</span>;<a name="l00783"></a>00783             }<a name="l00784"></a>00784         }<a name="l00785"></a>00785 <a name="l00786"></a>00786         <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> axis = 0; axis &lt; QwtPlot::axisCnt; axis++ )<a name="l00787"></a>00787         {<a name="l00788"></a>00788             <span class="keywordtype">int</span> backboneOffset = d_data-&gt;canvasMargin[axis];<a name="l00789"></a>00789             if ( !(options &amp; IgnoreFrames) )<a name="l00790"></a>00790                 backboneOffset += d_data-&gt;layoutData.canvas.frameWidth;<a name="l00791"></a>00791 <a name="l00792"></a>00792             <span class="keyword">const</span> <span class="keyword">struct</span> LayoutData::t_scaleData &amp;scaleData = <a name="l00793"></a>00793                 d_data-&gt;layoutData.scale[axis];<a name="l00794"></a>00794 <a name="l00795"></a>00795             if (scaleData.isEnabled)<a name="l00796"></a>00796             {<a name="l00797"></a>00797                 <span class="keywordtype">int</span> length;<a name="l00798"></a>00798                 if ( axis == QwtPlot::xTop || axis == QwtPlot::xBottom )<a name="l00799"></a>00799                 {<a name="l00800"></a>00800                     length = rect.width() - dimAxis[QwtPlot::yLeft] <a name="l00801"></a>00801                         - dimAxis[QwtPlot::yRight];<a name="l00802"></a>00802                     length += qwtMin(dimAxis[QwtPlot::yLeft], <a name="l00803"></a>00803                         scaleData.start - backboneOffset);<a name="l00804"></a>00804                     length += qwtMin(dimAxis[QwtPlot::yRight], <a name="l00805"></a>00805                         scaleData.end - backboneOffset);<a name="l00806"></a>00806                 }<a name="l00807"></a>00807                 <span class="keywordflow">else</span> <span class="comment">// QwtPlot::yLeft, QwtPlot::yRight</span><a name="l00808"></a>00808                 {<a name="l00809"></a>00809                     length = rect.height() - dimAxis[QwtPlot::xTop] <a name="l00810"></a>00810                         - dimAxis[QwtPlot::xBottom];<a name="l00811"></a>00811 <a name="l00812"></a>00812                     <span class="keywordflow">if</span> ( dimAxis[QwtPlot::xBottom] &gt; 0 )<a name="l00813"></a>00813                     {<a name="l00814"></a>00814                         length += qwtMin(<a name="l00815"></a>00815                             d_data-&gt;layoutData.scale[QwtPlot::xBottom].tickOffset, <a name="l00816"></a>00816                             scaleData.start - backboneOffset);<a name="l00817"></a>00817                     }<a name="l00818"></a>00818                     <span class="keywordflow">if</span> ( dimAxis[QwtPlot::xTop] &gt; 0 )<a name="l00819"></a>00819                     {<a name="l00820"></a>00820                         length += qwtMin(<a name="l00821"></a>00821                             d_data-&gt;layoutData.scale[QwtPlot::xTop].tickOffset, <a name="l00822"></a>00822                             scaleData.end - backboneOffset);<a name="l00823"></a>00823                     }<a name="l00824"></a>00824 <a name="l00825"></a>00825                     <span class="keywordflow">if</span> ( dimTitle &gt; 0 )<a name="l00826"></a>00826                         length -= dimTitle + d_data-&gt;spacing;<a name="l00827"></a>00827                 }<a name="l00828"></a>00828 <a name="l00829"></a>00829                 <span class="keywordtype">int</span> d = scaleData.dimWithoutTitle;<a name="l00830"></a>00830                 <span class="keywordflow">if</span> ( !scaleData.scaleWidget-&gt;title().isEmpty() )<a name="l00831"></a>00831                 {<a name="l00832"></a>00832                     d += scaleData.scaleWidget-&gt;titleHeightForWidth(length);<a name="l00833"></a>00833                 }<a name="l00834"></a>00834 <a name="l00835"></a>00835                 <span class="keywordflow">if</span> ( d &gt; dimAxis[axis] )<a name="l00836"></a>00836                 {<a name="l00837"></a>00837                     dimAxis[axis] = d;<a name="l00838"></a>00838                     done = <span class="keyword">false</span>;<a name="l00839"></a>00839                 }<a name="l00840"></a>00840             }<a name="l00841"></a>00841         }<a name="l00842"></a>00842     }<a name="l00843"></a>00843 }<a name="l00844"></a>00844 <a name="l00850"></a><a class="code" href="class_qwt_plot_layout.html#a1ea394fce72c1c06f2aaf6fcd90db2a">00850</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_layout.html#a1ea394fce72c1c06f2aaf6fcd90db2a">QwtPlotLayout::alignScales</a>(<span class="keywordtype">int</span> options,<a name="l00851"></a>00851     QRect &amp;canvasRect, QRect scaleRect[QwtPlot::axisCnt])<span class="keyword"> const</span><a name="l00852"></a>00852 <span class="keyword"></span>{<a name="l00853"></a>00853     <span class="keywordtype">int</span> axis;<a name="l00854"></a>00854 <a name="l00855"></a>00855     <span class="keywordtype">int</span> backboneOffset[QwtPlot::axisCnt];<a name="l00856"></a>00856     <span class="keywordflow">for</span> (axis = 0; axis &lt; QwtPlot::axisCnt; axis++ )<a name="l00857"></a>00857     {<a name="l00858"></a>00858         backboneOffset[axis] = 0;<a name="l00859"></a>00859         <span class="keywordflow">if</span> ( !d_data-&gt;alignCanvasToScales )<a name="l00860"></a>00860             backboneOffset[axis] += d_data-&gt;canvasMargin[axis];<a name="l00861"></a>00861         if ( !(options &amp; IgnoreFrames) )<a name="l00862"></a>00862             backboneOffset[axis] += d_data-&gt;layoutData.canvas.frameWidth;<a name="l00863"></a>00863     }<a name="l00864"></a>00864 <a name="l00865"></a>00865     <span class="keywordflow">for</span> (axis = 0; axis &lt; QwtPlot::axisCnt; axis++ )<a name="l00866"></a>00866     {<a name="l00867"></a>00867         <span class="keywordflow">if</span> ( !scaleRect[axis].isValid() )<a name="l00868"></a>00868             <span class="keywordflow">continue</span>;<a name="l00869"></a>00869 <a name="l00870"></a>00870         <span class="keyword">const</span> <span class="keywordtype">int</span> startDist = d_data-&gt;layoutData.scale[axis].start;<a name="l00871"></a>00871         <span class="keyword">const</span> <span class="keywordtype">int</span> endDist = d_data-&gt;layoutData.scale[axis].end;<a name="l00872"></a>00872 <a name="l00873"></a>00873         QRect &amp;axisRect = scaleRect[axis];<a name="l00874"></a>00874 <a name="l00875"></a>00875         <span class="keywordflow">if</span> ( axis == QwtPlot::xTop || axis == QwtPlot::xBottom )<a name="l00876"></a>00876         {<a name="l00877"></a>00877             <span class="keyword">const</span> <span class="keywordtype">int</span> leftOffset = backboneOffset[QwtPlot::yLeft] - startDist;<a name="l00878"></a>00878 <a name="l00879"></a>00879             <span class="keywordflow">if</span> ( scaleRect[QwtPlot::yLeft].isValid() )<a name="l00880"></a>00880             {<a name="l00881"></a>00881                 <span class="keywordtype">int</span> minLeft = scaleRect[QwtPlot::yLeft].left();<a name="l00882"></a>00882                 <span class="keywordtype">int</span> left = axisRect.left() + leftOffset;<a name="l00883"></a>00883                 axisRect.setLeft(qwtMax(left, minLeft));<a name="l00884"></a>00884             }<a name="l00885"></a>00885             <span class="keywordflow">else</span><a name="l00886"></a>00886             {<a name="l00887"></a>00887                 <span class="keywordflow">if</span> ( d_data-&gt;alignCanvasToScales &amp;&amp; leftOffset &lt; 0 )<a name="l00888"></a>00888                 {<a name="l00889"></a>00889                     canvasRect.setLeft(qwtMax(canvasRect.left(), <a name="l00890"></a>00890                         axisRect.left() - leftOffset));<a name="l00891"></a>00891                 }<a name="l00892"></a>00892                 <span class="keywordflow">else</span><a name="l00893"></a>00893                 {<a name="l00894"></a>00894                     <span class="keywordflow">if</span> ( leftOffset &gt; 0 )<a name="l00895"></a>00895                         axisRect.setLeft(axisRect.left() + leftOffset);<a name="l00896"></a>00896                 }<a name="l00897"></a>00897             }<a name="l00898"></a>00898 <a name="l00899"></a>00899             <span class="keyword">const</span> <span class="keywordtype">int</span> rightOffset = backboneOffset[QwtPlot::yRight] - endDist;<a name="l00900"></a>00900 <a name="l00901"></a>00901             <span class="keywordflow">if</span> ( scaleRect[QwtPlot::yRight].isValid() )<a name="l00902"></a>00902             {<a name="l00903"></a>00903                 <span class="keywordtype">int</span> maxRight = scaleRect[QwtPlot::yRight].right();<a name="l00904"></a>00904                 <span class="keywordtype">int</span> right = axisRect.right() - rightOffset;<a name="l00905"></a>00905                 axisRect.setRight(qwtMin(right, maxRight));<a name="l00906"></a>00906             }<a name="l00907"></a>00907             <span class="keywordflow">else</span><a name="l00908"></a>00908             {<a name="l00909"></a>00909                 <span class="keywordflow">if</span> ( d_data-&gt;alignCanvasToScales &amp;&amp; rightOffset &lt; 0 )<a name="l00910"></a>00910                 {<a name="l00911"></a>00911                     canvasRect.setRight( qwtMin(canvasRect.right(), <a name="l00912"></a>00912                         axisRect.right() + rightOffset) );<a name="l00913"></a>00913                 }<a name="l00914"></a>00914                 <span class="keywordflow">else</span><a name="l00915"></a>00915                 {<a name="l00916"></a>00916                     <span class="keywordflow">if</span> ( rightOffset &gt; 0 )<a name="l00917"></a>00917                         axisRect.setRight(axisRect.right() - rightOffset);<a name="l00918"></a>00918                 }<a name="l00919"></a>00919             }<a name="l00920"></a>00920         }<a name="l00921"></a>00921         <span class="keywordflow">else</span> <span class="comment">// QwtPlot::yLeft, QwtPlot::yRight</span><a name="l00922"></a>00922         {<a name="l00923"></a>00923             <span class="keyword">const</span> <span class="keywordtype">int</span> bottomOffset = <a name="l00924"></a>00924                 backboneOffset[QwtPlot::xBottom] - endDist;<a name="l00925"></a>00925 <a name="l00926"></a>00926             <span class="keywordflow">if</span> ( scaleRect[QwtPlot::xBottom].isValid() )<a name="l00927"></a>00927             {<a name="l00928"></a>00928                 <span class="keywo

⌨️ 快捷键说明

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