📄 qwt__plot__layout_8cpp-source.html
字号:
<a name="l00768"></a>00768 <span class="keywordflow">if</span> ( d_data->layoutData.scale[QwtPlot::yLeft].isEnabled<a name="l00769"></a>00769 != d_data->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->layoutData.title.text.heightForWidth(w);<a name="l00776"></a>00776 <span class="keywordflow">if</span> ( !(options & IgnoreFrames) )<a name="l00777"></a>00777 d += 2 * d_data->layoutData.title.frameWidth;<a name="l00778"></a>00778 <a name="l00779"></a>00779 <span class="keywordflow">if</span> ( d > 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 < QwtPlot::axisCnt; axis++ )<a name="l00787"></a>00787 {<a name="l00788"></a>00788 <span class="keywordtype">int</span> backboneOffset = d_data->canvasMargin[axis];<a name="l00789"></a>00789 if ( !(options & IgnoreFrames) )<a name="l00790"></a>00790 backboneOffset += d_data->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 &scaleData = <a name="l00793"></a>00793 d_data->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] > 0 )<a name="l00813"></a>00813 {<a name="l00814"></a>00814 length += qwtMin(<a name="l00815"></a>00815 d_data->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] > 0 )<a name="l00819"></a>00819 {<a name="l00820"></a>00820 length += qwtMin(<a name="l00821"></a>00821 d_data->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 > 0 )<a name="l00826"></a>00826 length -= dimTitle + d_data->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->title().isEmpty() )<a name="l00831"></a>00831 {<a name="l00832"></a>00832 d += scaleData.scaleWidget->titleHeightForWidth(length);<a name="l00833"></a>00833 }<a name="l00834"></a>00834 <a name="l00835"></a>00835 <span class="keywordflow">if</span> ( d > 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 &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 < 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->alignCanvasToScales )<a name="l00860"></a>00860 backboneOffset[axis] += d_data->canvasMargin[axis];<a name="l00861"></a>00861 if ( !(options & IgnoreFrames) )<a name="l00862"></a>00862 backboneOffset[axis] += d_data->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 < 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->layoutData.scale[axis].start;<a name="l00871"></a>00871 <span class="keyword">const</span> <span class="keywordtype">int</span> endDist = d_data->layoutData.scale[axis].end;<a name="l00872"></a>00872 <a name="l00873"></a>00873 QRect &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->alignCanvasToScales && leftOffset < 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 > 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->alignCanvasToScales && rightOffset < 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 > 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 + -