~ubuntu-branches/ubuntu/oneiric/qwt/oneiric-proposed

« back to all changes in this revision

Viewing changes to qwt-5.1.1/doc/html/qwt__scale__draw_8cpp-source.html

  • Committer: Bazaar Package Importer
  • Author(s): Fathi Boudra
  • Date: 2009-04-12 23:25:58 UTC
  • mfrom: (1.1.4 upstream) (2.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090412232558-3bl06x785yr8xm8u
Tags: 5.1.2-1
* New upstream release.
* Bump compat/debhelper to 7.
* Bump Standards-Version to 3.8.1. No changes needed.
* Invert Maintainers and Uploaders field.
* Fix lintian warnings:
  - dh_clean _k deprecated.
  - missing dependency on libc.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
 
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
 
<title>Qwt User&apos;s Guide: qwt_scale_draw.cpp Source File</title>
4
 
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
 
<link href="tabs.css" rel="stylesheet" type="text/css">
6
 
</head><body>
7
 
<!-- Generated by Doxygen 1.5.0 -->
8
 
<div class="tabs">
9
 
  <ul>
10
 
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11
 
    <li><a href="classes.html"><span>Classes</span></a></li>
12
 
    <li id="current"><a href="files.html"><span>Files</span></a></li>
13
 
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
14
 
  </ul></div>
15
 
<div class="tabs">
16
 
  <ul>
17
 
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
18
 
    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
19
 
  </ul></div>
20
 
<h1>qwt_scale_draw.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************</span>
21
 
<a name="l00002"></a>00002 <span class="comment"> * Qwt Widget Library</span>
22
 
<a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 1997   Josef Wilgen</span>
23
 
<a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 2002   Uwe Rathmann</span>
24
 
<a name="l00005"></a>00005 <span class="comment"> * </span>
25
 
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
26
 
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the Qwt License, Version 1.0</span>
27
 
<a name="l00008"></a>00008 <span class="comment"> *****************************************************************************/</span>
28
 
<a name="l00009"></a>00009 
29
 
<a name="l00010"></a>00010 <span class="comment">// vim: expandtab</span>
30
 
<a name="l00011"></a>00011 
31
 
<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;qpen.h&gt;</span>
32
 
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;qpainter.h&gt;</span>
33
 
<a name="l00014"></a>00014 <span class="preprocessor">#include "qwt_math.h"</span>
34
 
<a name="l00015"></a>00015 <span class="preprocessor">#include "qwt_painter.h"</span>
35
 
<a name="l00016"></a>00016 <span class="preprocessor">#include "qwt_polygon.h"</span>
36
 
<a name="l00017"></a>00017 <span class="preprocessor">#include "qwt_scale_div.h"</span>
37
 
<a name="l00018"></a>00018 <span class="preprocessor">#include "qwt_scale_map.h"</span>
38
 
<a name="l00019"></a>00019 <span class="preprocessor">#include "qwt_scale_draw.h"</span>
39
 
<a name="l00020"></a>00020 
40
 
<a name="l00021"></a>00021 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
41
 
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#include &lt;qwmatrix.h&gt;</span>
42
 
<a name="l00023"></a>00023 <span class="preprocessor">#define QwtMatrix QWMatrix</span>
43
 
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#else</span>
44
 
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#include &lt;qmatrix.h&gt;</span>
45
 
<a name="l00026"></a>00026 <span class="preprocessor">#define QwtMatrix QMatrix</span>
46
 
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
47
 
<a name="l00028"></a>00028 <span class="preprocessor"></span>
48
 
<a name="l00029"></a>00029 <span class="keyword">class </span>QwtScaleDraw::PrivateData
49
 
<a name="l00030"></a>00030 {
50
 
<a name="l00031"></a>00031 <span class="keyword">public</span>:
51
 
<a name="l00032"></a>00032     PrivateData():
52
 
<a name="l00033"></a>00033         len(0),
53
 
<a name="l00034"></a>00034         <a class="code" href="class_qwt_scale_draw.html#89774ef071c6d66fae5843a13fe12bd5">alignment</a>(<a class="code" href="class_qwt_scale_draw.html">QwtScaleDraw</a>::BottomScale),
54
 
<a name="l00035"></a>00035         <a class="code" href="class_qwt_scale_draw.html#112f0b9d3f718ea734f9a04b0a78bc0a">labelAlignment</a>(0),
55
 
<a name="l00036"></a>00036         <a class="code" href="class_qwt_scale_draw.html#209d371187a3ff3f895278703328b13d">labelRotation</a>(0.0)
56
 
<a name="l00037"></a>00037     {
57
 
<a name="l00038"></a>00038     }
58
 
<a name="l00039"></a>00039 
59
 
<a name="l00040"></a>00040     QPoint <a class="code" href="class_qwt_scale_draw.html#9ed4b23c5b2652ac78d7278b32f9dfed">pos</a>;
60
 
<a name="l00041"></a>00041     <span class="keywordtype">int</span> len;
61
 
<a name="l00042"></a>00042 
62
 
<a name="l00043"></a>00043     <a class="code" href="class_qwt_scale_draw.html#cd7ceeeac592ef08530788580b461c66">Alignment</a> <a class="code" href="class_qwt_scale_draw.html#89774ef071c6d66fae5843a13fe12bd5">alignment</a>;
63
 
<a name="l00044"></a>00044 
64
 
<a name="l00045"></a>00045 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
65
 
<a name="l00046"></a>00046 <span class="preprocessor"></span>    <span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_draw.html#112f0b9d3f718ea734f9a04b0a78bc0a">labelAlignment</a>;
66
 
<a name="l00047"></a>00047 <span class="preprocessor">#else</span>
67
 
<a name="l00048"></a>00048 <span class="preprocessor"></span>    Qt::Alignment <a class="code" href="class_qwt_scale_draw.html#112f0b9d3f718ea734f9a04b0a78bc0a">labelAlignment</a>;
68
 
<a name="l00049"></a>00049 <span class="preprocessor">#endif</span>
69
 
<a name="l00050"></a>00050 <span class="preprocessor"></span>    <span class="keywordtype">double</span> <a class="code" href="class_qwt_scale_draw.html#209d371187a3ff3f895278703328b13d">labelRotation</a>;
70
 
<a name="l00051"></a>00051 };
71
 
<a name="l00052"></a>00052 
72
 
<a name="l00060"></a><a class="code" href="class_qwt_scale_draw.html#dbd01ba8d7f19fb3122f917b1c74145b">00060</a> <a class="code" href="class_qwt_scale_draw.html#dbd01ba8d7f19fb3122f917b1c74145b">QwtScaleDraw::QwtScaleDraw</a>()
73
 
<a name="l00061"></a>00061 {
74
 
<a name="l00062"></a>00062     d_data = <span class="keyword">new</span> QwtScaleDraw::PrivateData;
75
 
<a name="l00063"></a>00063     <a class="code" href="class_qwt_scale_draw.html#2094e09579671d0a8e4b14a636eba6ef">setLength</a>(100);
76
 
<a name="l00064"></a>00064 }
77
 
<a name="l00065"></a>00065 
78
 
<a name="l00067"></a><a class="code" href="class_qwt_scale_draw.html#eefb37bb1da64b582d310a046c0f9c83">00067</a> <a class="code" href="class_qwt_scale_draw.html#dbd01ba8d7f19fb3122f917b1c74145b">QwtScaleDraw::QwtScaleDraw</a>(<span class="keyword">const</span> <a class="code" href="class_qwt_scale_draw.html">QwtScaleDraw</a> &amp;other):
79
 
<a name="l00068"></a>00068     <a class="code" href="class_qwt_abstract_scale_draw.html">QwtAbstractScaleDraw</a>(other)
80
 
<a name="l00069"></a>00069 {
81
 
<a name="l00070"></a>00070     d_data = <span class="keyword">new</span> QwtScaleDraw::PrivateData(*other.<a class="code" href="class_qwt_scale_draw.html#0a1ed04b944776d7a79fa846b6741ae7">d_data</a>);
82
 
<a name="l00071"></a>00071 }
83
 
<a name="l00072"></a>00072 
84
 
<a name="l00074"></a><a class="code" href="class_qwt_scale_draw.html#9c907c8fa27ec7312e78145e3050c599">00074</a> <a class="code" href="class_qwt_scale_draw.html#9c907c8fa27ec7312e78145e3050c599">QwtScaleDraw::~QwtScaleDraw</a>()
85
 
<a name="l00075"></a>00075 {
86
 
<a name="l00076"></a>00076     <span class="keyword">delete</span> d_data;
87
 
<a name="l00077"></a>00077 }
88
 
<a name="l00078"></a>00078 
89
 
<a name="l00080"></a><a class="code" href="class_qwt_scale_draw.html#c0616d79ee21083f7402ba0586ff2635">00080</a> <a class="code" href="class_qwt_scale_draw.html">QwtScaleDraw</a> &amp;<a class="code" href="class_qwt_scale_draw.html#c0616d79ee21083f7402ba0586ff2635">QwtScaleDraw::operator=</a>(<span class="keyword">const</span> <a class="code" href="class_qwt_scale_draw.html">QwtScaleDraw</a> &amp;other)
90
 
<a name="l00081"></a>00081 {
91
 
<a name="l00082"></a>00082     *(<a class="code" href="class_qwt_abstract_scale_draw.html">QwtAbstractScaleDraw</a>*)<span class="keyword">this</span> = (<span class="keyword">const</span> <a class="code" href="class_qwt_abstract_scale_draw.html">QwtAbstractScaleDraw</a> &amp;)other;
92
 
<a name="l00083"></a>00083     *d_data = *other.<a class="code" href="class_qwt_scale_draw.html#0a1ed04b944776d7a79fa846b6741ae7">d_data</a>;
93
 
<a name="l00084"></a>00084     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
94
 
<a name="l00085"></a>00085 }
95
 
<a name="l00086"></a>00086 
96
 
<a name="l00091"></a><a class="code" href="class_qwt_scale_draw.html#89774ef071c6d66fae5843a13fe12bd5">00091</a> <a class="code" href="class_qwt_scale_draw.html#cd7ceeeac592ef08530788580b461c66">QwtScaleDraw::Alignment</a> <a class="code" href="class_qwt_scale_draw.html#89774ef071c6d66fae5843a13fe12bd5">QwtScaleDraw::alignment</a>()<span class="keyword"> const </span>
97
 
<a name="l00092"></a>00092 <span class="keyword"></span>{
98
 
<a name="l00093"></a>00093     <span class="keywordflow">return</span> d_data-&gt;alignment; 
99
 
<a name="l00094"></a>00094 }
100
 
<a name="l00095"></a>00095 
101
 
<a name="l00102"></a><a class="code" href="class_qwt_scale_draw.html#7a4de0055dc1358e55c3357366a54091">00102</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#7a4de0055dc1358e55c3357366a54091">QwtScaleDraw::setAlignment</a>(<a class="code" href="class_qwt_scale_draw.html#cd7ceeeac592ef08530788580b461c66">Alignment</a> align)
102
 
<a name="l00103"></a>00103 {
103
 
<a name="l00104"></a>00104     d_data-&gt;alignment = align;
104
 
<a name="l00105"></a>00105 }
105
 
<a name="l00106"></a>00106 
106
 
<a name="l00115"></a><a class="code" href="class_qwt_scale_draw.html#ba3a8530871137eb5f977e1eb3fe4975">00115</a> Qt::Orientation <a class="code" href="class_qwt_scale_draw.html#ba3a8530871137eb5f977e1eb3fe4975">QwtScaleDraw::orientation</a>()<span class="keyword"> const</span>
107
 
<a name="l00116"></a>00116 <span class="keyword"></span>{
108
 
<a name="l00117"></a>00117     <span class="keywordflow">switch</span>(d_data-&gt;alignment)
109
 
<a name="l00118"></a>00118     {
110
 
<a name="l00119"></a>00119         <span class="keywordflow">case</span> TopScale:
111
 
<a name="l00120"></a>00120         <span class="keywordflow">case</span> BottomScale:
112
 
<a name="l00121"></a>00121             <span class="keywordflow">return</span> Qt::Horizontal;
113
 
<a name="l00122"></a>00122         <span class="keywordflow">case</span> LeftScale:
114
 
<a name="l00123"></a>00123         <span class="keywordflow">case</span> RightScale:
115
 
<a name="l00124"></a>00124         <span class="keywordflow">default</span>:
116
 
<a name="l00125"></a>00125             <span class="keywordflow">return</span> Qt::Vertical;
117
 
<a name="l00126"></a>00126     }
118
 
<a name="l00127"></a>00127 }
119
 
<a name="l00128"></a>00128 
120
 
<a name="l00139"></a><a class="code" href="class_qwt_scale_draw.html#3d8ac98bc2a52dbc5df76e427b47753c">00139</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#3d8ac98bc2a52dbc5df76e427b47753c">QwtScaleDraw::getBorderDistHint</a>(<span class="keyword">const</span> QFont &amp;font,
121
 
<a name="l00140"></a>00140     <span class="keywordtype">int</span> &amp;start, <span class="keywordtype">int</span> &amp;end )<span class="keyword"> const</span>
122
 
<a name="l00141"></a>00141 <span class="keyword"></span>{
123
 
<a name="l00142"></a>00142     start = 0;
124
 
<a name="l00143"></a>00143     end = 0;
125
 
<a name="l00144"></a>00144     
126
 
<a name="l00145"></a>00145     <span class="keywordflow">if</span> ( !<a class="code" href="class_qwt_abstract_scale_draw.html#8a69a890d349a9e03c145b20b5835e8a">hasComponent</a>(QwtAbstractScaleDraw::Labels) )
127
 
<a name="l00146"></a>00146         <span class="keywordflow">return</span>;
128
 
<a name="l00147"></a>00147 
129
 
<a name="l00148"></a>00148     <span class="keyword">const</span> QwtValueList &amp;ticks = <a class="code" href="class_qwt_abstract_scale_draw.html#d15e796d2fd8bd1e2cfa66715bf58e2e">scaleDiv</a>().<a class="code" href="class_qwt_scale_div.html#991862ca84dc810d8500b360a0ed7a4f">ticks</a>(QwtScaleDiv::MajorTick);
130
 
<a name="l00149"></a>00149     <span class="keywordflow">if</span> ( ticks.count() == 0 ) 
131
 
<a name="l00150"></a>00150         <span class="keywordflow">return</span>;
132
 
<a name="l00151"></a>00151 
133
 
<a name="l00152"></a>00152     QRect lr = <a class="code" href="class_qwt_scale_draw.html#3f21d4d404332f187609af632a592681">labelRect</a>(font, ticks[0]);
134
 
<a name="l00153"></a>00153 
135
 
<a name="l00154"></a>00154     <span class="comment">// find the distance between tick and border</span>
136
 
<a name="l00155"></a>00155     <span class="keywordtype">int</span> off = qwtAbs(<a class="code" href="class_qwt_abstract_scale_draw.html#22cf3971a2c6377ea3b2ef1070d87326">map</a>().transform(ticks[0]) - qRound(<a class="code" href="class_qwt_abstract_scale_draw.html#22cf3971a2c6377ea3b2ef1070d87326">map</a>().p1()));
137
 
<a name="l00156"></a>00156 
138
 
<a name="l00157"></a>00157     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_draw.html#ba3a8530871137eb5f977e1eb3fe4975">orientation</a>() == Qt::Vertical )
139
 
<a name="l00158"></a>00158         end = lr.bottom() + 1 - off;
140
 
<a name="l00159"></a>00159     <span class="keywordflow">else</span>
141
 
<a name="l00160"></a>00160         start = -lr.left() - off;
142
 
<a name="l00161"></a>00161 
143
 
<a name="l00162"></a>00162     <span class="keyword">const</span> <span class="keywordtype">int</span> lastTick = ticks.count() - 1;
144
 
<a name="l00163"></a>00163     lr = <a class="code" href="class_qwt_scale_draw.html#3f21d4d404332f187609af632a592681">labelRect</a>(font, ticks[lastTick]);
145
 
<a name="l00164"></a>00164 
146
 
<a name="l00165"></a>00165     <span class="comment">// find the distance between tick and border</span>
147
 
<a name="l00166"></a>00166     off = qwtAbs(<a class="code" href="class_qwt_abstract_scale_draw.html#22cf3971a2c6377ea3b2ef1070d87326">map</a>().transform(ticks[lastTick]) - qRound(<a class="code" href="class_qwt_abstract_scale_draw.html#22cf3971a2c6377ea3b2ef1070d87326">map</a>().p2()));
148
 
<a name="l00167"></a>00167 
149
 
<a name="l00168"></a>00168     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_draw.html#ba3a8530871137eb5f977e1eb3fe4975">orientation</a>() == Qt::Vertical )
150
 
<a name="l00169"></a>00169         start = -lr.top() - off;
151
 
<a name="l00170"></a>00170     <span class="keywordflow">else</span>
152
 
<a name="l00171"></a>00171         end = lr.right() + 1 - off;
153
 
<a name="l00172"></a>00172 
154
 
<a name="l00173"></a>00173     <span class="comment">// if the distance between tick and border is larger</span>
155
 
<a name="l00174"></a>00174     <span class="comment">// than half of the label width/height, we set to 0</span>
156
 
<a name="l00175"></a>00175 
157
 
<a name="l00176"></a>00176     <span class="keywordflow">if</span> ( start &lt; 0 )
158
 
<a name="l00177"></a>00177         start = 0;
159
 
<a name="l00178"></a>00178     <span class="keywordflow">if</span> ( end &lt; 0 )
160
 
<a name="l00179"></a>00179         end = 0;
161
 
<a name="l00180"></a>00180 }
162
 
<a name="l00181"></a>00181 
163
 
<a name="l00192"></a><a class="code" href="class_qwt_scale_draw.html#1e60d584f563933afba119d443ba5b32">00192</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_draw.html#1e60d584f563933afba119d443ba5b32">QwtScaleDraw::minLabelDist</a>(<span class="keyword">const</span> QFont &amp;font)<span class="keyword"> const</span>
164
 
<a name="l00193"></a>00193 <span class="keyword"></span>{
165
 
<a name="l00194"></a>00194     <span class="keywordflow">if</span> ( !<a class="code" href="class_qwt_abstract_scale_draw.html#8a69a890d349a9e03c145b20b5835e8a">hasComponent</a>(QwtAbstractScaleDraw::Labels) )
166
 
<a name="l00195"></a>00195         <span class="keywordflow">return</span> 0;
167
 
<a name="l00196"></a>00196 
168
 
<a name="l00197"></a>00197     <span class="keyword">const</span> QwtValueList &amp;ticks = <a class="code" href="class_qwt_abstract_scale_draw.html#d15e796d2fd8bd1e2cfa66715bf58e2e">scaleDiv</a>().<a class="code" href="class_qwt_scale_div.html#991862ca84dc810d8500b360a0ed7a4f">ticks</a>(QwtScaleDiv::MajorTick);
169
 
<a name="l00198"></a>00198     <span class="keywordflow">if</span> (ticks.count() == 0)
170
 
<a name="l00199"></a>00199         <span class="keywordflow">return</span> 0;
171
 
<a name="l00200"></a>00200 
172
 
<a name="l00201"></a>00201     <span class="keyword">const</span> QFontMetrics fm(font);
173
 
<a name="l00202"></a>00202 
174
 
<a name="l00203"></a>00203     <span class="keyword">const</span> <span class="keywordtype">bool</span> vertical = (<a class="code" href="class_qwt_scale_draw.html#ba3a8530871137eb5f977e1eb3fe4975">orientation</a>() == Qt::Vertical);
175
 
<a name="l00204"></a>00204 
176
 
<a name="l00205"></a>00205     QRect bRect1;
177
 
<a name="l00206"></a>00206     QRect bRect2 = <a class="code" href="class_qwt_scale_draw.html#3f21d4d404332f187609af632a592681">labelRect</a>(font, ticks[0]);
178
 
<a name="l00207"></a>00207     <span class="keywordflow">if</span> ( vertical )
179
 
<a name="l00208"></a>00208     {
180
 
<a name="l00209"></a>00209         bRect2.setRect(-bRect2.bottom(), 0, bRect2.height(), bRect2.width());
181
 
<a name="l00210"></a>00210     }
182
 
<a name="l00211"></a>00211     <span class="keywordtype">int</span> maxDist = 0;
183
 
<a name="l00212"></a>00212 
184
 
<a name="l00213"></a>00213     <span class="keywordflow">for</span> (uint i = 1; i &lt; (uint)ticks.count(); i++ )
185
 
<a name="l00214"></a>00214     {
186
 
<a name="l00215"></a>00215         bRect1 = bRect2;
187
 
<a name="l00216"></a>00216         bRect2 = <a class="code" href="class_qwt_scale_draw.html#3f21d4d404332f187609af632a592681">labelRect</a>(font, ticks[i]);
188
 
<a name="l00217"></a>00217         <span class="keywordflow">if</span> ( vertical )
189
 
<a name="l00218"></a>00218         {
190
 
<a name="l00219"></a>00219             bRect2.setRect(-bRect2.bottom(), 0,
191
 
<a name="l00220"></a>00220                 bRect2.height(), bRect2.width());
192
 
<a name="l00221"></a>00221         }
193
 
<a name="l00222"></a>00222 
194
 
<a name="l00223"></a>00223         <span class="keywordtype">int</span> dist = fm.leading(); <span class="comment">// space between the labels</span>
195
 
<a name="l00224"></a>00224         <span class="keywordflow">if</span> ( bRect1.right() &gt; 0 )
196
 
<a name="l00225"></a>00225             dist += bRect1.right();
197
 
<a name="l00226"></a>00226         <span class="keywordflow">if</span> ( bRect2.left() &lt; 0 )
198
 
<a name="l00227"></a>00227             dist += -bRect2.left();
199
 
<a name="l00228"></a>00228 
200
 
<a name="l00229"></a>00229         <span class="keywordflow">if</span> ( dist &gt; maxDist )
201
 
<a name="l00230"></a>00230             maxDist = dist;
202
 
<a name="l00231"></a>00231     }
203
 
<a name="l00232"></a>00232 
204
 
<a name="l00233"></a>00233     <span class="keywordtype">double</span> angle = <a class="code" href="class_qwt_scale_draw.html#209d371187a3ff3f895278703328b13d">labelRotation</a>() / 180.0 * M_PI;
205
 
<a name="l00234"></a>00234     <span class="keywordflow">if</span> ( vertical )
206
 
<a name="l00235"></a>00235         angle += M_PI / 2;
207
 
<a name="l00236"></a>00236 
208
 
<a name="l00237"></a>00237     <span class="keywordflow">if</span> ( sin(angle) == 0.0 )
209
 
<a name="l00238"></a>00238         <span class="keywordflow">return</span> maxDist;
210
 
<a name="l00239"></a>00239 
211
 
<a name="l00240"></a>00240     <span class="keyword">const</span> <span class="keywordtype">int</span> fmHeight = fm.ascent() - 2; 
212
 
<a name="l00241"></a>00241 
213
 
<a name="l00242"></a>00242     <span class="comment">// The distance we need until there is</span>
214
 
<a name="l00243"></a>00243     <span class="comment">// the height of the label font. This height is needed</span>
215
 
<a name="l00244"></a>00244     <span class="comment">// for the neighbour labal.</span>
216
 
<a name="l00245"></a>00245 
217
 
<a name="l00246"></a>00246     <span class="keywordtype">int</span> labelDist = (int)(fmHeight / sin(angle) * cos(angle));
218
 
<a name="l00247"></a>00247     <span class="keywordflow">if</span> ( labelDist &lt; 0 )
219
 
<a name="l00248"></a>00248         labelDist = -labelDist;
220
 
<a name="l00249"></a>00249 
221
 
<a name="l00250"></a>00250     <span class="comment">// The cast above floored labelDist. We want to ceil.</span>
222
 
<a name="l00251"></a>00251     labelDist++; 
223
 
<a name="l00252"></a>00252 
224
 
<a name="l00253"></a>00253     <span class="comment">// For text orientations close to the scale orientation </span>
225
 
<a name="l00254"></a>00254 
226
 
<a name="l00255"></a>00255     <span class="keywordflow">if</span> ( labelDist &gt; maxDist )
227
 
<a name="l00256"></a>00256         labelDist = maxDist;
228
 
<a name="l00257"></a>00257 
229
 
<a name="l00258"></a>00258     <span class="comment">// For text orientations close to the opposite of the </span>
230
 
<a name="l00259"></a>00259     <span class="comment">// scale orientation</span>
231
 
<a name="l00260"></a>00260 
232
 
<a name="l00261"></a>00261     <span class="keywordflow">if</span> ( labelDist &lt; fmHeight )
233
 
<a name="l00262"></a>00262         labelDist = fmHeight;
234
 
<a name="l00263"></a>00263 
235
 
<a name="l00264"></a>00264     <span class="keywordflow">return</span> labelDist;
236
 
<a name="l00265"></a>00265 }
237
 
<a name="l00266"></a>00266 
238
 
<a name="l00280"></a><a class="code" href="class_qwt_scale_draw.html#5cba775772b121b45cb10c120b3cf825">00280</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_draw.html#5cba775772b121b45cb10c120b3cf825">QwtScaleDraw::extent</a>(<span class="keyword">const</span> QPen &amp;pen, <span class="keyword">const</span> QFont &amp;font)<span class="keyword"> const</span>
239
 
<a name="l00281"></a>00281 <span class="keyword"></span>{
240
 
<a name="l00282"></a>00282     <span class="keywordtype">int</span> d = 0;
241
 
<a name="l00283"></a>00283 
242
 
<a name="l00284"></a>00284     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_scale_draw.html#8a69a890d349a9e03c145b20b5835e8a">hasComponent</a>(QwtAbstractScaleDraw::Labels) )
243
 
<a name="l00285"></a>00285     {
244
 
<a name="l00286"></a>00286         <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_draw.html#ba3a8530871137eb5f977e1eb3fe4975">orientation</a>() == Qt::Vertical )
245
 
<a name="l00287"></a>00287             d = <a class="code" href="class_qwt_scale_draw.html#b0c4ee29e81cee70e8a491e5ff80b8ff">maxLabelWidth</a>(font);
246
 
<a name="l00288"></a>00288         <span class="keywordflow">else</span>
247
 
<a name="l00289"></a>00289             d = <a class="code" href="class_qwt_scale_draw.html#b5fcdcbb4c3fe419e48efd3068ecd3e4">maxLabelHeight</a>(font);
248
 
<a name="l00290"></a>00290 
249
 
<a name="l00291"></a>00291         <span class="keywordflow">if</span> ( d &gt; 0 )
250
 
<a name="l00292"></a>00292             d += <a class="code" href="class_qwt_abstract_scale_draw.html#3d5c5940271dd15a32e40b9022bc602a">spacing</a>();
251
 
<a name="l00293"></a>00293     }
252
 
<a name="l00294"></a>00294 
253
 
<a name="l00295"></a>00295     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_scale_draw.html#8a69a890d349a9e03c145b20b5835e8a">hasComponent</a>(QwtAbstractScaleDraw::Ticks) )
254
 
<a name="l00296"></a>00296     {
255
 
<a name="l00297"></a>00297         d += <a class="code" href="class_qwt_abstract_scale_draw.html#89c8ece6fcf3a9ce422c2cbb5da2237d">majTickLength</a>();
256
 
<a name="l00298"></a>00298     }
257
 
<a name="l00299"></a>00299 
258
 
<a name="l00300"></a>00300     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_scale_draw.html#8a69a890d349a9e03c145b20b5835e8a">hasComponent</a>(QwtAbstractScaleDraw::Backbone) )
259
 
<a name="l00301"></a>00301     {
260
 
<a name="l00302"></a>00302         <span class="keyword">const</span> <span class="keywordtype">int</span> pw = qwtMax( 1, pen.width() );  <span class="comment">// penwidth can be zero</span>
261
 
<a name="l00303"></a>00303         d += pw;
262
 
<a name="l00304"></a>00304     }
263
 
<a name="l00305"></a>00305 
264
 
<a name="l00306"></a>00306     d = qwtMax(d, <a class="code" href="class_qwt_abstract_scale_draw.html#3ddfc4b108cbf093c89a4596109b63fd">minimumExtent</a>());
265
 
<a name="l00307"></a>00307     <span class="keywordflow">return</span> d;
266
 
<a name="l00308"></a>00308 }
267
 
<a name="l00309"></a>00309 
268
 
<a name="l00318"></a><a class="code" href="class_qwt_scale_draw.html#ed2373becd1428c14eaa5412af45205a">00318</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_draw.html#ed2373becd1428c14eaa5412af45205a">QwtScaleDraw::minLength</a>(<span class="keyword">const</span> QPen &amp;pen, <span class="keyword">const</span> QFont &amp;font)<span class="keyword"> const</span>
269
 
<a name="l00319"></a>00319 <span class="keyword"></span>{
270
 
<a name="l00320"></a>00320     <span class="keywordtype">int</span> startDist, endDist;
271
 
<a name="l00321"></a>00321     <a class="code" href="class_qwt_scale_draw.html#3d8ac98bc2a52dbc5df76e427b47753c">getBorderDistHint</a>(font, startDist, endDist);
272
 
<a name="l00322"></a>00322 
273
 
<a name="l00323"></a>00323     <span class="keyword">const</span> <a class="code" href="class_qwt_scale_div.html">QwtScaleDiv</a> &amp;sd = <a class="code" href="class_qwt_abstract_scale_draw.html#d15e796d2fd8bd1e2cfa66715bf58e2e">scaleDiv</a>();
274
 
<a name="l00324"></a>00324 
275
 
<a name="l00325"></a>00325     <span class="keyword">const</span> uint minorCount =
276
 
<a name="l00326"></a>00326         sd.<a class="code" href="class_qwt_scale_div.html#991862ca84dc810d8500b360a0ed7a4f">ticks</a>(QwtScaleDiv::MinorTick).count() +
277
 
<a name="l00327"></a>00327         sd.<a class="code" href="class_qwt_scale_div.html#991862ca84dc810d8500b360a0ed7a4f">ticks</a>(QwtScaleDiv::MediumTick).count();
278
 
<a name="l00328"></a>00328     <span class="keyword">const</span> uint majorCount =
279
 
<a name="l00329"></a>00329         sd.<a class="code" href="class_qwt_scale_div.html#991862ca84dc810d8500b360a0ed7a4f">ticks</a>(QwtScaleDiv::MajorTick).count();
280
 
<a name="l00330"></a>00330 
281
 
<a name="l00331"></a>00331     <span class="keywordtype">int</span> lengthForLabels = 0;
282
 
<a name="l00332"></a>00332     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_scale_draw.html#8a69a890d349a9e03c145b20b5835e8a">hasComponent</a>(QwtAbstractScaleDraw::Labels) )
283
 
<a name="l00333"></a>00333     {
284
 
<a name="l00334"></a>00334         <span class="keywordflow">if</span> ( majorCount &gt;= 2 )
285
 
<a name="l00335"></a>00335             lengthForLabels = <a class="code" href="class_qwt_scale_draw.html#1e60d584f563933afba119d443ba5b32">minLabelDist</a>(font) * (majorCount - 1);
286
 
<a name="l00336"></a>00336     }
287
 
<a name="l00337"></a>00337 
288
 
<a name="l00338"></a>00338     <span class="keywordtype">int</span> lengthForTicks = 0;
289
 
<a name="l00339"></a>00339     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_scale_draw.html#8a69a890d349a9e03c145b20b5835e8a">hasComponent</a>(QwtAbstractScaleDraw::Ticks) )
290
 
<a name="l00340"></a>00340     {
291
 
<a name="l00341"></a>00341         <span class="keyword">const</span> <span class="keywordtype">int</span> pw = qwtMax( 1, pen.width() );  <span class="comment">// penwidth can be zero</span>
292
 
<a name="l00342"></a>00342         lengthForTicks = 2 * (majorCount + minorCount) * pw;
293
 
<a name="l00343"></a>00343     }
294
 
<a name="l00344"></a>00344 
295
 
<a name="l00345"></a>00345     <span class="keywordflow">return</span> startDist + endDist + qwtMax(lengthForLabels, lengthForTicks);
296
 
<a name="l00346"></a>00346 }
297
 
<a name="l00347"></a>00347 
298
 
<a name="l00356"></a><a class="code" href="class_qwt_scale_draw.html#0c7357dcb326ccdfa4ac3b673332a4c3">00356</a> QPoint <a class="code" href="class_qwt_scale_draw.html#0c7357dcb326ccdfa4ac3b673332a4c3">QwtScaleDraw::labelPosition</a>( <span class="keywordtype">double</span> value)<span class="keyword"> const</span>
299
 
<a name="l00357"></a>00357 <span class="keyword"></span>{
300
 
<a name="l00358"></a>00358     <span class="keyword">const</span> <span class="keywordtype">int</span> tval = <a class="code" href="class_qwt_abstract_scale_draw.html#22cf3971a2c6377ea3b2ef1070d87326">map</a>().<a class="code" href="class_qwt_scale_map.html#f35bfdc44bad4b6932ab02e60e8e6e29">transform</a>(value);
301
 
<a name="l00359"></a>00359     <span class="keywordtype">int</span> dist = <a class="code" href="class_qwt_abstract_scale_draw.html#3d5c5940271dd15a32e40b9022bc602a">spacing</a>() + 1;
302
 
<a name="l00360"></a>00360     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_scale_draw.html#8a69a890d349a9e03c145b20b5835e8a">hasComponent</a>(QwtAbstractScaleDraw::Ticks) )
303
 
<a name="l00361"></a>00361         dist += <a class="code" href="class_qwt_abstract_scale_draw.html#89c8ece6fcf3a9ce422c2cbb5da2237d">majTickLength</a>();
304
 
<a name="l00362"></a>00362 
305
 
<a name="l00363"></a>00363     <span class="keywordtype">int</span> px = 0;
306
 
<a name="l00364"></a>00364     <span class="keywordtype">int</span> py = 0;
307
 
<a name="l00365"></a>00365 
308
 
<a name="l00366"></a>00366     <span class="keywordflow">switch</span>(<a class="code" href="class_qwt_scale_draw.html#89774ef071c6d66fae5843a13fe12bd5">alignment</a>())
309
 
<a name="l00367"></a>00367     {
310
 
<a name="l00368"></a>00368         <span class="keywordflow">case</span> RightScale:
311
 
<a name="l00369"></a>00369         {
312
 
<a name="l00370"></a>00370             px = d_data-&gt;pos.x() + dist;
313
 
<a name="l00371"></a>00371             py = tval;
314
 
<a name="l00372"></a>00372             <span class="keywordflow">break</span>;
315
 
<a name="l00373"></a>00373         }
316
 
<a name="l00374"></a>00374         <span class="keywordflow">case</span> LeftScale:
317
 
<a name="l00375"></a>00375         {
318
 
<a name="l00376"></a>00376             px = d_data-&gt;pos.x() - dist;
319
 
<a name="l00377"></a>00377             py = tval;
320
 
<a name="l00378"></a>00378             <span class="keywordflow">break</span>;
321
 
<a name="l00379"></a>00379         }
322
 
<a name="l00380"></a>00380         <span class="keywordflow">case</span> BottomScale:
323
 
<a name="l00381"></a>00381         {
324
 
<a name="l00382"></a>00382             px = tval;
325
 
<a name="l00383"></a>00383             py = d_data-&gt;pos.y() + dist;
326
 
<a name="l00384"></a>00384             <span class="keywordflow">break</span>;
327
 
<a name="l00385"></a>00385         }
328
 
<a name="l00386"></a>00386         <span class="keywordflow">case</span> TopScale:
329
 
<a name="l00387"></a>00387         {
330
 
<a name="l00388"></a>00388             px = tval;
331
 
<a name="l00389"></a>00389             py = d_data-&gt;pos.y() - dist;
332
 
<a name="l00390"></a>00390             <span class="keywordflow">break</span>;
333
 
<a name="l00391"></a>00391         }
334
 
<a name="l00392"></a>00392     }
335
 
<a name="l00393"></a>00393 
336
 
<a name="l00394"></a>00394     <span class="keywordflow">return</span> QPoint(px, py);
337
 
<a name="l00395"></a>00395 }
338
 
<a name="l00396"></a>00396 
339
 
<a name="l00406"></a><a class="code" href="class_qwt_scale_draw.html#f43f429b72d4114b941f27207c4feaa5">00406</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#f43f429b72d4114b941f27207c4feaa5">QwtScaleDraw::drawTick</a>(QPainter *painter, <span class="keywordtype">double</span> value, <span class="keywordtype">int</span> len)<span class="keyword"> const</span>
340
 
<a name="l00407"></a>00407 <span class="keyword"></span>{
341
 
<a name="l00408"></a>00408     <span class="keywordflow">if</span> ( len &lt;= 0 )
342
 
<a name="l00409"></a>00409         <span class="keywordflow">return</span>;
343
 
<a name="l00410"></a>00410 
344
 
<a name="l00411"></a>00411     <span class="keywordtype">int</span> pw2 = qwtMin((<span class="keywordtype">int</span>)painter-&gt;pen().width(), len) / 2;
345
 
<a name="l00412"></a>00412     
346
 
<a name="l00413"></a>00413     <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> <a class="code" href="class_qwt_abstract_scale_draw.html#e7488eb63ad73a2e69acb29ff069c904">scaleMap</a> = <a class="code" href="class_qwt_abstract_scale_draw.html#22cf3971a2c6377ea3b2ef1070d87326">map</a>();
347
 
<a name="l00414"></a>00414     <span class="keyword">const</span> <a class="code" href="class_qwt_metrics_map.html">QwtMetricsMap</a> metricsMap = <a class="code" href="class_qwt_painter.html#3de95bfc83c9beee537404b41749bad5">QwtPainter::metricsMap</a>();
348
 
<a name="l00415"></a>00415     QPoint <a class="code" href="class_qwt_scale_draw.html#9ed4b23c5b2652ac78d7278b32f9dfed">pos</a> = d_data-&gt;pos;
349
 
<a name="l00416"></a>00416 
350
 
<a name="l00417"></a>00417     <span class="keywordflow">if</span> ( !metricsMap.<a class="code" href="class_qwt_metrics_map.html#ed458d83b2d59f6f64e0a6d29a290275">isIdentity</a>() )
351
 
<a name="l00418"></a>00418     {
352
 
<a name="l00419"></a>00419         <span class="comment">/*</span>
353
 
<a name="l00420"></a>00420 <span class="comment">           The perfect position of the ticks is important.</span>
354
 
<a name="l00421"></a>00421 <span class="comment">           To avoid rounding errors we have to use </span>
355
 
<a name="l00422"></a>00422 <span class="comment">           device coordinates.</span>
356
 
<a name="l00423"></a>00423 <span class="comment">         */</span>
357
 
<a name="l00424"></a>00424         <a class="code" href="class_qwt_painter.html#0a20214cff4c8edd4c3caa0ad3a2112f">QwtPainter::resetMetricsMap</a>();
358
 
<a name="l00425"></a>00425 
359
 
<a name="l00426"></a>00426         pos = metricsMap.<a class="code" href="class_qwt_metrics_map.html#f54f053fcfcb7dc595725a3caa3fb433">layoutToDevice</a>(pos);
360
 
<a name="l00427"></a>00427     
361
 
<a name="l00428"></a>00428         <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_draw.html#ba3a8530871137eb5f977e1eb3fe4975">orientation</a>() == Qt::Vertical )
362
 
<a name="l00429"></a>00429         {
363
 
<a name="l00430"></a>00430             scaleMap.setPaintInterval(
364
 
<a name="l00431"></a>00431                 metricsMap.<a class="code" href="class_qwt_metrics_map.html#6daa9dd815525565ad32b924a55f5fa0">layoutToDeviceY</a>((<span class="keywordtype">int</span>)scaleMap.p1()),
365
 
<a name="l00432"></a>00432                 metricsMap.<a class="code" href="class_qwt_metrics_map.html#6daa9dd815525565ad32b924a55f5fa0">layoutToDeviceY</a>((<span class="keywordtype">int</span>)scaleMap.p2())
366
 
<a name="l00433"></a>00433             );
367
 
<a name="l00434"></a>00434             len = metricsMap.<a class="code" href="class_qwt_metrics_map.html#2f77f9158506d7e21f95d17df19e6c56">layoutToDeviceX</a>(len);
368
 
<a name="l00435"></a>00435         }
369
 
<a name="l00436"></a>00436         <span class="keywordflow">else</span>
370
 
<a name="l00437"></a>00437         {
371
 
<a name="l00438"></a>00438             scaleMap.setPaintInterval(
372
 
<a name="l00439"></a>00439                 metricsMap.<a class="code" href="class_qwt_metrics_map.html#2f77f9158506d7e21f95d17df19e6c56">layoutToDeviceX</a>((<span class="keywordtype">int</span>)scaleMap.p1()),
373
 
<a name="l00440"></a>00440                 metricsMap.<a class="code" href="class_qwt_metrics_map.html#2f77f9158506d7e21f95d17df19e6c56">layoutToDeviceX</a>((<span class="keywordtype">int</span>)scaleMap.p2())
374
 
<a name="l00441"></a>00441             );
375
 
<a name="l00442"></a>00442             len = metricsMap.<a class="code" href="class_qwt_metrics_map.html#6daa9dd815525565ad32b924a55f5fa0">layoutToDeviceY</a>(len);
376
 
<a name="l00443"></a>00443         }
377
 
<a name="l00444"></a>00444     }
378
 
<a name="l00445"></a>00445 
379
 
<a name="l00446"></a>00446     <span class="keyword">const</span> <span class="keywordtype">int</span> tval = scaleMap.transform(value);
380
 
<a name="l00447"></a>00447 
381
 
<a name="l00448"></a>00448     <span class="keywordflow">switch</span>(<a class="code" href="class_qwt_scale_draw.html#89774ef071c6d66fae5843a13fe12bd5">alignment</a>())
382
 
<a name="l00449"></a>00449     {
383
 
<a name="l00450"></a>00450         <span class="keywordflow">case</span> LeftScale:
384
 
<a name="l00451"></a>00451         {
385
 
<a name="l00452"></a>00452 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
386
 
<a name="l00453"></a>00453 <span class="preprocessor"></span>            <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, pos.x() + pw2, tval,
387
 
<a name="l00454"></a>00454                 pos.x() - len - 2 * pw2, tval);
388
 
<a name="l00455"></a>00455 <span class="preprocessor">#else</span>
389
 
<a name="l00456"></a>00456 <span class="preprocessor"></span>            <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, pos.x() - pw2, tval,
390
 
<a name="l00457"></a>00457                 pos.x() - len, tval);
391
 
<a name="l00458"></a>00458 <span class="preprocessor">#endif</span>
392
 
<a name="l00459"></a>00459 <span class="preprocessor"></span>            <span class="keywordflow">break</span>;
393
 
<a name="l00460"></a>00460         }
394
 
<a name="l00461"></a>00461 
395
 
<a name="l00462"></a>00462         <span class="keywordflow">case</span> RightScale:
396
 
<a name="l00463"></a>00463         {
397
 
<a name="l00464"></a>00464 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
398
 
<a name="l00465"></a>00465 <span class="preprocessor"></span>            <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, pos.x(), tval,
399
 
<a name="l00466"></a>00466                 pos.x() + len + pw2, tval);
400
 
<a name="l00467"></a>00467 <span class="preprocessor">#else</span>
401
 
<a name="l00468"></a>00468 <span class="preprocessor"></span>            <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, pos.x() + pw2, tval,
402
 
<a name="l00469"></a>00469                 pos.x() + len, tval);
403
 
<a name="l00470"></a>00470 <span class="preprocessor">#endif</span>
404
 
<a name="l00471"></a>00471 <span class="preprocessor"></span>            <span class="keywordflow">break</span>;
405
 
<a name="l00472"></a>00472         }
406
 
<a name="l00473"></a>00473     
407
 
<a name="l00474"></a>00474         <span class="keywordflow">case</span> BottomScale:
408
 
<a name="l00475"></a>00475         {
409
 
<a name="l00476"></a>00476 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
410
 
<a name="l00477"></a>00477 <span class="preprocessor"></span>            <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, tval, pos.y(),
411
 
<a name="l00478"></a>00478                 tval, pos.y() + len + 2 * pw2);
412
 
<a name="l00479"></a>00479 <span class="preprocessor">#else</span>
413
 
<a name="l00480"></a>00480 <span class="preprocessor"></span>            <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, tval, pos.y() + pw2,
414
 
<a name="l00481"></a>00481                 tval, pos.y() + len);
415
 
<a name="l00482"></a>00482 <span class="preprocessor">#endif</span>
416
 
<a name="l00483"></a>00483 <span class="preprocessor"></span>            <span class="keywordflow">break</span>;
417
 
<a name="l00484"></a>00484         }
418
 
<a name="l00485"></a>00485 
419
 
<a name="l00486"></a>00486         <span class="keywordflow">case</span> TopScale:
420
 
<a name="l00487"></a>00487         {
421
 
<a name="l00488"></a>00488 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
422
 
<a name="l00489"></a>00489 <span class="preprocessor"></span>            <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, tval, pos.y() + pw2,
423
 
<a name="l00490"></a>00490                 tval, pos.y() - len - 2 * pw2);
424
 
<a name="l00491"></a>00491 <span class="preprocessor">#else</span>
425
 
<a name="l00492"></a>00492 <span class="preprocessor"></span>            <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, tval, pos.y() - pw2,
426
 
<a name="l00493"></a>00493                 tval, pos.y() - len);
427
 
<a name="l00494"></a>00494 <span class="preprocessor">#endif</span>
428
 
<a name="l00495"></a>00495 <span class="preprocessor"></span>            <span class="keywordflow">break</span>;
429
 
<a name="l00496"></a>00496         }
430
 
<a name="l00497"></a>00497     }
431
 
<a name="l00498"></a>00498     <a class="code" href="class_qwt_painter.html#952553514abb7ab83c4a43602c899777">QwtPainter::setMetricsMap</a>(metricsMap); <span class="comment">// restore metrics map</span>
432
 
<a name="l00499"></a>00499 }
433
 
<a name="l00500"></a>00500 
434
 
<a name="l00507"></a><a class="code" href="class_qwt_scale_draw.html#3319e5adc50aaa49b31cd634760c6488">00507</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#3319e5adc50aaa49b31cd634760c6488">QwtScaleDraw::drawBackbone</a>(QPainter *painter)<span class="keyword"> const</span>
435
 
<a name="l00508"></a>00508 <span class="keyword"></span>{
436
 
<a name="l00509"></a>00509     <span class="keyword">const</span> <span class="keywordtype">int</span> bw2 = painter-&gt;pen().width() / 2;
437
 
<a name="l00510"></a>00510 
438
 
<a name="l00511"></a>00511     <span class="keyword">const</span> QPoint &amp;<a class="code" href="class_qwt_scale_draw.html#9ed4b23c5b2652ac78d7278b32f9dfed">pos</a> = d_data-&gt;pos;
439
 
<a name="l00512"></a>00512     <span class="keyword">const</span> <span class="keywordtype">int</span> len = d_data-&gt;len - 1;
440
 
<a name="l00513"></a>00513 
441
 
<a name="l00514"></a>00514     <span class="keywordflow">switch</span>(<a class="code" href="class_qwt_scale_draw.html#89774ef071c6d66fae5843a13fe12bd5">alignment</a>())
442
 
<a name="l00515"></a>00515     {
443
 
<a name="l00516"></a>00516         <span class="keywordflow">case</span> LeftScale:
444
 
<a name="l00517"></a>00517             <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, pos.x() - bw2,
445
 
<a name="l00518"></a>00518                 pos.y(), pos.x() - bw2, pos.y() + len );
446
 
<a name="l00519"></a>00519             <span class="keywordflow">break</span>;
447
 
<a name="l00520"></a>00520         <span class="keywordflow">case</span> RightScale:
448
 
<a name="l00521"></a>00521             <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, pos.x() + bw2,
449
 
<a name="l00522"></a>00522                 pos.y(), pos.x() + bw2, pos.y() + len);
450
 
<a name="l00523"></a>00523             <span class="keywordflow">break</span>;
451
 
<a name="l00524"></a>00524         <span class="keywordflow">case</span> TopScale:
452
 
<a name="l00525"></a>00525             <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, pos.x(), pos.y() - bw2,
453
 
<a name="l00526"></a>00526                 pos.x() + len, pos.y() - bw2);
454
 
<a name="l00527"></a>00527             <span class="keywordflow">break</span>;
455
 
<a name="l00528"></a>00528         <span class="keywordflow">case</span> BottomScale:
456
 
<a name="l00529"></a>00529             <a class="code" href="class_qwt_painter.html#f809f23704df7e05f51222daa296ca80">QwtPainter::drawLine</a>(painter, pos.x(), pos.y() + bw2,
457
 
<a name="l00530"></a>00530                 pos.x() + len, pos.y() + bw2);
458
 
<a name="l00531"></a>00531             <span class="keywordflow">break</span>;
459
 
<a name="l00532"></a>00532     }
460
 
<a name="l00533"></a>00533 }
461
 
<a name="l00534"></a>00534 
462
 
<a name="l00566"></a><a class="code" href="class_qwt_scale_draw.html#751cfd2bb2a29b55b7ef540e9c2f97aa">00566</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#d301aed0c797c10f0104976d1a62ff69">QwtScaleDraw::move</a>(<span class="keyword">const</span> QPoint &amp;pos)
463
 
<a name="l00567"></a>00567 {
464
 
<a name="l00568"></a>00568     d_data-&gt;pos = pos;
465
 
<a name="l00569"></a>00569     updateMap();
466
 
<a name="l00570"></a>00570 }
467
 
<a name="l00571"></a>00571 
468
 
<a name="l00576"></a><a class="code" href="class_qwt_scale_draw.html#9ed4b23c5b2652ac78d7278b32f9dfed">00576</a> QPoint <a class="code" href="class_qwt_scale_draw.html#9ed4b23c5b2652ac78d7278b32f9dfed">QwtScaleDraw::pos</a>()<span class="keyword"> const</span>
469
 
<a name="l00577"></a>00577 <span class="keyword"></span>{
470
 
<a name="l00578"></a>00578     <span class="keywordflow">return</span> d_data-&gt;pos;
471
 
<a name="l00579"></a>00579 }
472
 
<a name="l00580"></a>00580 
473
 
<a name="l00589"></a><a class="code" href="class_qwt_scale_draw.html#2094e09579671d0a8e4b14a636eba6ef">00589</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#2094e09579671d0a8e4b14a636eba6ef">QwtScaleDraw::setLength</a>(<span class="keywordtype">int</span> length)
474
 
<a name="l00590"></a>00590 {
475
 
<a name="l00591"></a>00591     <span class="keywordflow">if</span> ( length &gt;= 0 &amp;&amp; length &lt; 10 )
476
 
<a name="l00592"></a>00592         length = 10;
477
 
<a name="l00593"></a>00593     <span class="keywordflow">if</span> ( length &lt; 0 &amp;&amp; length &gt; -10 )
478
 
<a name="l00594"></a>00594         length = -10;
479
 
<a name="l00595"></a>00595     
480
 
<a name="l00596"></a>00596     d_data-&gt;len = length;
481
 
<a name="l00597"></a>00597     updateMap();
482
 
<a name="l00598"></a>00598 }
483
 
<a name="l00599"></a>00599 
484
 
<a name="l00604"></a><a class="code" href="class_qwt_scale_draw.html#6114863d3146c8ea021068865d0c4d82">00604</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_draw.html#6114863d3146c8ea021068865d0c4d82">QwtScaleDraw::length</a>()<span class="keyword"> const</span>
485
 
<a name="l00605"></a>00605 <span class="keyword"></span>{
486
 
<a name="l00606"></a>00606     <span class="keywordflow">return</span> d_data-&gt;len;
487
 
<a name="l00607"></a>00607 }
488
 
<a name="l00608"></a>00608 
489
 
<a name="l00617"></a><a class="code" href="class_qwt_scale_draw.html#58f593910892d5f2957c70f9d1370e69">00617</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#58f593910892d5f2957c70f9d1370e69">QwtScaleDraw::drawLabel</a>(QPainter *painter, <span class="keywordtype">double</span> value)<span class="keyword"> const</span>
490
 
<a name="l00618"></a>00618 <span class="keyword"></span>{
491
 
<a name="l00619"></a>00619     <a class="code" href="class_qwt_text.html">QwtText</a> lbl = <a class="code" href="class_qwt_abstract_scale_draw.html#9325b265f351e9135cdbb9368e53f68a">tickLabel</a>(painter-&gt;font(), value);
492
 
<a name="l00620"></a>00620     <span class="keywordflow">if</span> ( lbl.<a class="code" href="class_qwt_text.html#a7a14283b812f50234fa0ee960e65307">isEmpty</a>() )
493
 
<a name="l00621"></a>00621         <span class="keywordflow">return</span>; 
494
 
<a name="l00622"></a>00622 
495
 
<a name="l00623"></a>00623     <span class="keyword">const</span> QPoint <a class="code" href="class_qwt_scale_draw.html#9ed4b23c5b2652ac78d7278b32f9dfed">pos</a> = <a class="code" href="class_qwt_scale_draw.html#0c7357dcb326ccdfa4ac3b673332a4c3">labelPosition</a>(value);
496
 
<a name="l00624"></a>00624 
497
 
<a name="l00625"></a>00625     QSize <a class="code" href="class_qwt_scale_draw.html#32d5c396cfc5020560c4ac2e47662a16">labelSize</a> = lbl.<a class="code" href="class_qwt_text.html#c8d26df733ce1b392eb6a9444468c480">textSize</a>(painter-&gt;font());
498
 
<a name="l00626"></a>00626     <span class="keywordflow">if</span> ( labelSize.height() % 2 )
499
 
<a name="l00627"></a>00627         labelSize.setHeight(labelSize.height() + 1);
500
 
<a name="l00628"></a>00628     
501
 
<a name="l00629"></a>00629     <span class="keyword">const</span> QwtMatrix m = <a class="code" href="class_qwt_scale_draw.html#a7b143ec69b0fe088b7532551bc23a23">labelMatrix</a>( pos, labelSize);
502
 
<a name="l00630"></a>00630 
503
 
<a name="l00631"></a>00631     painter-&gt;save();
504
 
<a name="l00632"></a>00632 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
505
 
<a name="l00633"></a>00633 <span class="preprocessor"></span>    painter-&gt;setWorldMatrix(m, <span class="keyword">true</span>);
506
 
<a name="l00634"></a>00634 <span class="preprocessor">#else</span>
507
 
<a name="l00635"></a>00635 <span class="preprocessor"></span>    painter-&gt;setMatrix(m, <span class="keyword">true</span>);
508
 
<a name="l00636"></a>00636 <span class="preprocessor">#endif</span>
509
 
<a name="l00637"></a>00637 <span class="preprocessor"></span>
510
 
<a name="l00638"></a>00638     lbl.<a class="code" href="class_qwt_text.html#f3109303b3e0fea0ee21879666c3c870">draw</a> (painter, QRect(QPoint(0, 0), labelSize) );
511
 
<a name="l00639"></a>00639     painter-&gt;restore();
512
 
<a name="l00640"></a>00640 }
513
 
<a name="l00641"></a>00641 
514
 
<a name="l00652"></a><a class="code" href="class_qwt_scale_draw.html#431f4de02ddd5f97f4db5eda01ee2651">00652</a> QRect <a class="code" href="class_qwt_scale_draw.html#431f4de02ddd5f97f4db5eda01ee2651">QwtScaleDraw::boundingLabelRect</a>(<span class="keyword">const</span> QFont &amp;font, <span class="keywordtype">double</span> value)<span class="keyword"> const</span>
515
 
<a name="l00653"></a>00653 <span class="keyword"></span>{
516
 
<a name="l00654"></a>00654     <a class="code" href="class_qwt_text.html">QwtText</a> lbl = <a class="code" href="class_qwt_abstract_scale_draw.html#9325b265f351e9135cdbb9368e53f68a">tickLabel</a>(font, value);
517
 
<a name="l00655"></a>00655     <span class="keywordflow">if</span> ( lbl.<a class="code" href="class_qwt_text.html#a7a14283b812f50234fa0ee960e65307">isEmpty</a>() )
518
 
<a name="l00656"></a>00656         <span class="keywordflow">return</span> QRect(); 
519
 
<a name="l00657"></a>00657 
520
 
<a name="l00658"></a>00658     <span class="keyword">const</span> QPoint <a class="code" href="class_qwt_scale_draw.html#9ed4b23c5b2652ac78d7278b32f9dfed">pos</a> = <a class="code" href="class_qwt_scale_draw.html#0c7357dcb326ccdfa4ac3b673332a4c3">labelPosition</a>(value);
521
 
<a name="l00659"></a>00659     QSize <a class="code" href="class_qwt_scale_draw.html#32d5c396cfc5020560c4ac2e47662a16">labelSize</a> = lbl.<a class="code" href="class_qwt_text.html#c8d26df733ce1b392eb6a9444468c480">textSize</a>(font);
522
 
<a name="l00660"></a>00660     <span class="keywordflow">if</span> ( labelSize.height() % 2 )
523
 
<a name="l00661"></a>00661         labelSize.setHeight(labelSize.height() + 1);
524
 
<a name="l00662"></a>00662 
525
 
<a name="l00663"></a>00663     <span class="keyword">const</span> QwtMatrix m = <a class="code" href="class_qwt_scale_draw.html#a7b143ec69b0fe088b7532551bc23a23">labelMatrix</a>( pos, labelSize);
526
 
<a name="l00664"></a>00664     <span class="keywordflow">return</span> m.mapRect(QRect(QPoint(0, 0), labelSize));
527
 
<a name="l00665"></a>00665 }
528
 
<a name="l00666"></a>00666 
529
 
<a name="l00676"></a><a class="code" href="class_qwt_scale_draw.html#a7b143ec69b0fe088b7532551bc23a23">00676</a> QwtMatrix <a class="code" href="class_qwt_scale_draw.html#a7b143ec69b0fe088b7532551bc23a23">QwtScaleDraw::labelMatrix</a>( 
530
 
<a name="l00677"></a>00677     <span class="keyword">const</span> QPoint &amp;pos, <span class="keyword">const</span> QSize &amp;size)<span class="keyword"> const</span>
531
 
<a name="l00678"></a>00678 <span class="keyword"></span>{   
532
 
<a name="l00679"></a>00679     QwtMatrix m;
533
 
<a name="l00680"></a>00680     m.translate(pos.x(), pos.y());
534
 
<a name="l00681"></a>00681     m.rotate(<a class="code" href="class_qwt_scale_draw.html#209d371187a3ff3f895278703328b13d">labelRotation</a>());
535
 
<a name="l00682"></a>00682     
536
 
<a name="l00683"></a>00683     <span class="keywordtype">int</span> flags = <a class="code" href="class_qwt_scale_draw.html#112f0b9d3f718ea734f9a04b0a78bc0a">labelAlignment</a>();
537
 
<a name="l00684"></a>00684     <span class="keywordflow">if</span> ( flags == 0 )
538
 
<a name="l00685"></a>00685     {
539
 
<a name="l00686"></a>00686         <span class="keywordflow">switch</span>(<a class="code" href="class_qwt_scale_draw.html#89774ef071c6d66fae5843a13fe12bd5">alignment</a>())
540
 
<a name="l00687"></a>00687         {
541
 
<a name="l00688"></a>00688             <span class="keywordflow">case</span> RightScale:
542
 
<a name="l00689"></a>00689             {
543
 
<a name="l00690"></a>00690                 <span class="keywordflow">if</span> ( flags == 0 )
544
 
<a name="l00691"></a>00691                     flags = Qt::AlignRight | Qt::AlignVCenter;
545
 
<a name="l00692"></a>00692                 <span class="keywordflow">break</span>;
546
 
<a name="l00693"></a>00693             }
547
 
<a name="l00694"></a>00694             <span class="keywordflow">case</span> LeftScale:
548
 
<a name="l00695"></a>00695             {
549
 
<a name="l00696"></a>00696                 <span class="keywordflow">if</span> ( flags == 0 )
550
 
<a name="l00697"></a>00697                     flags = Qt::AlignLeft | Qt::AlignVCenter;
551
 
<a name="l00698"></a>00698                 <span class="keywordflow">break</span>;
552
 
<a name="l00699"></a>00699             }
553
 
<a name="l00700"></a>00700             <span class="keywordflow">case</span> BottomScale:
554
 
<a name="l00701"></a>00701             {
555
 
<a name="l00702"></a>00702                 <span class="keywordflow">if</span> ( flags == 0 )
556
 
<a name="l00703"></a>00703                     flags = Qt::AlignHCenter | Qt::AlignBottom;
557
 
<a name="l00704"></a>00704                 <span class="keywordflow">break</span>;
558
 
<a name="l00705"></a>00705             }
559
 
<a name="l00706"></a>00706             <span class="keywordflow">case</span> TopScale:
560
 
<a name="l00707"></a>00707             {
561
 
<a name="l00708"></a>00708                 <span class="keywordflow">if</span> ( flags == 0 )
562
 
<a name="l00709"></a>00709                     flags = Qt::AlignHCenter | Qt::AlignTop;
563
 
<a name="l00710"></a>00710                 <span class="keywordflow">break</span>;
564
 
<a name="l00711"></a>00711             }
565
 
<a name="l00712"></a>00712         }
566
 
<a name="l00713"></a>00713     }
567
 
<a name="l00714"></a>00714 
568
 
<a name="l00715"></a>00715     <span class="keyword">const</span> <span class="keywordtype">int</span> w = size.width();
569
 
<a name="l00716"></a>00716     <span class="keyword">const</span> <span class="keywordtype">int</span> h = size.height();
570
 
<a name="l00717"></a>00717 
571
 
<a name="l00718"></a>00718     <span class="keywordtype">int</span> x, y;
572
 
<a name="l00719"></a>00719     
573
 
<a name="l00720"></a>00720     <span class="keywordflow">if</span> ( flags &amp; Qt::AlignLeft )
574
 
<a name="l00721"></a>00721         x = -w;
575
 
<a name="l00722"></a>00722     <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( flags &amp; Qt::AlignRight )
576
 
<a name="l00723"></a>00723         x = -(w % 2); 
577
 
<a name="l00724"></a>00724     <span class="keywordflow">else</span> <span class="comment">// Qt::AlignHCenter</span>
578
 
<a name="l00725"></a>00725         x = -(w / 2);
579
 
<a name="l00726"></a>00726         
580
 
<a name="l00727"></a>00727     <span class="keywordflow">if</span> ( flags &amp; Qt::AlignTop )
581
 
<a name="l00728"></a>00728         y =  -h ;
582
 
<a name="l00729"></a>00729     <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( flags &amp; Qt::AlignBottom )
583
 
<a name="l00730"></a>00730         y = -(h % 2); 
584
 
<a name="l00731"></a>00731     <span class="keywordflow">else</span> <span class="comment">// Qt::AlignVCenter</span>
585
 
<a name="l00732"></a>00732         y = -(h/2);
586
 
<a name="l00733"></a>00733         
587
 
<a name="l00734"></a>00734     m.translate(x, y);
588
 
<a name="l00735"></a>00735     
589
 
<a name="l00736"></a>00736     <span class="keywordflow">return</span> m;
590
 
<a name="l00737"></a>00737 }   
591
 
<a name="l00738"></a>00738 
592
 
<a name="l00747"></a><a class="code" href="class_qwt_scale_draw.html#3f21d4d404332f187609af632a592681">00747</a> QRect <a class="code" href="class_qwt_scale_draw.html#3f21d4d404332f187609af632a592681">QwtScaleDraw::labelRect</a>(<span class="keyword">const</span> QFont &amp;font, <span class="keywordtype">double</span> value)<span class="keyword"> const</span>
593
 
<a name="l00748"></a>00748 <span class="keyword"></span>{   
594
 
<a name="l00749"></a>00749     <a class="code" href="class_qwt_text.html">QwtText</a> lbl = <a class="code" href="class_qwt_abstract_scale_draw.html#9325b265f351e9135cdbb9368e53f68a">tickLabel</a>(font, value);
595
 
<a name="l00750"></a>00750     <span class="keywordflow">if</span> ( lbl.<a class="code" href="class_qwt_text.html#a7a14283b812f50234fa0ee960e65307">isEmpty</a>() )
596
 
<a name="l00751"></a>00751         <span class="keywordflow">return</span> QRect(0, 0, 0, 0);
597
 
<a name="l00752"></a>00752 
598
 
<a name="l00753"></a>00753     <span class="keyword">const</span> QPoint <a class="code" href="class_qwt_scale_draw.html#9ed4b23c5b2652ac78d7278b32f9dfed">pos</a> = <a class="code" href="class_qwt_scale_draw.html#0c7357dcb326ccdfa4ac3b673332a4c3">labelPosition</a>(value);
599
 
<a name="l00754"></a>00754 
600
 
<a name="l00755"></a>00755     QSize <a class="code" href="class_qwt_scale_draw.html#32d5c396cfc5020560c4ac2e47662a16">labelSize</a> = lbl.<a class="code" href="class_qwt_text.html#c8d26df733ce1b392eb6a9444468c480">textSize</a>(font);
601
 
<a name="l00756"></a>00756     <span class="keywordflow">if</span> ( labelSize.height() % 2 )
602
 
<a name="l00757"></a>00757     {
603
 
<a name="l00758"></a>00758         labelSize.setHeight(labelSize.height() + 1);
604
 
<a name="l00759"></a>00759     }
605
 
<a name="l00760"></a>00760 
606
 
<a name="l00761"></a>00761     <span class="keyword">const</span> QwtMatrix m = <a class="code" href="class_qwt_scale_draw.html#a7b143ec69b0fe088b7532551bc23a23">labelMatrix</a>(pos, labelSize);
607
 
<a name="l00762"></a>00762 
608
 
<a name="l00763"></a>00763 <span class="preprocessor">#if 0</span>
609
 
<a name="l00764"></a>00764 <span class="preprocessor"></span>    QRect br = <a class="code" href="class_qwt_metrics_map.html#17f3e22f42b4f0e44096a9ac4e9e19fc">QwtMetricsMap::translate</a>(m, QRect(QPoint(0, 0), labelSize));
610
 
<a name="l00765"></a>00765 <span class="preprocessor">#else</span>
611
 
<a name="l00766"></a>00766 <span class="preprocessor"></span>    QwtPolygon pol(4);
612
 
<a name="l00767"></a>00767     pol.setPoint(0, 0, 0); 
613
 
<a name="l00768"></a>00768     pol.setPoint(1, 0, labelSize.height() - 1 );
614
 
<a name="l00769"></a>00769     pol.setPoint(2, labelSize.width() - 1, 0);
615
 
<a name="l00770"></a>00770     pol.setPoint(3, labelSize.width() - 1, labelSize.height() - 1 );
616
 
<a name="l00771"></a>00771 
617
 
<a name="l00772"></a>00772     pol = <a class="code" href="class_qwt_metrics_map.html#17f3e22f42b4f0e44096a9ac4e9e19fc">QwtMetricsMap::translate</a>(m, pol);
618
 
<a name="l00773"></a>00773     QRect br = pol.boundingRect();
619
 
<a name="l00774"></a>00774 <span class="preprocessor">#endif</span>
620
 
<a name="l00775"></a>00775 <span class="preprocessor"></span>
621
 
<a name="l00776"></a>00776 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
622
 
<a name="l00777"></a>00777 <span class="preprocessor"></span>    br.moveBy(-pos.x(), -pos.y());
623
 
<a name="l00778"></a>00778 <span class="preprocessor">#else</span>
624
 
<a name="l00779"></a>00779 <span class="preprocessor"></span>    br.translate(-pos.x(), -pos.y());
625
 
<a name="l00780"></a>00780 <span class="preprocessor">#endif</span>
626
 
<a name="l00781"></a>00781 <span class="preprocessor"></span>
627
 
<a name="l00782"></a>00782     <span class="keywordflow">return</span> br;
628
 
<a name="l00783"></a>00783 }
629
 
<a name="l00784"></a>00784 
630
 
<a name="l00791"></a><a class="code" href="class_qwt_scale_draw.html#32d5c396cfc5020560c4ac2e47662a16">00791</a> QSize <a class="code" href="class_qwt_scale_draw.html#32d5c396cfc5020560c4ac2e47662a16">QwtScaleDraw::labelSize</a>(<span class="keyword">const</span> QFont &amp;font, <span class="keywordtype">double</span> value)<span class="keyword"> const</span>
631
 
<a name="l00792"></a>00792 <span class="keyword"></span>{
632
 
<a name="l00793"></a>00793     <span class="keywordflow">return</span> <a class="code" href="class_qwt_scale_draw.html#3f21d4d404332f187609af632a592681">labelRect</a>(font, value).size();
633
 
<a name="l00794"></a>00794 }
634
 
<a name="l00795"></a>00795 
635
 
<a name="l00809"></a><a class="code" href="class_qwt_scale_draw.html#bf5881339fddde65a00c1dd391023320">00809</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#bf5881339fddde65a00c1dd391023320">QwtScaleDraw::setLabelRotation</a>(<span class="keywordtype">double</span> rotation)
636
 
<a name="l00810"></a>00810 {
637
 
<a name="l00811"></a>00811     d_data-&gt;labelRotation = rotation;
638
 
<a name="l00812"></a>00812 }
639
 
<a name="l00813"></a>00813 
640
 
<a name="l00818"></a><a class="code" href="class_qwt_scale_draw.html#209d371187a3ff3f895278703328b13d">00818</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_scale_draw.html#209d371187a3ff3f895278703328b13d">QwtScaleDraw::labelRotation</a>()<span class="keyword"> const</span>
641
 
<a name="l00819"></a>00819 <span class="keyword"></span>{
642
 
<a name="l00820"></a>00820     <span class="keywordflow">return</span> d_data-&gt;labelRotation;
643
 
<a name="l00821"></a>00821 }
644
 
<a name="l00822"></a>00822 
645
 
<a name="l00848"></a>00848 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
646
 
<a name="l00849"></a>00849 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#3df0a1fe4a498ef028a5348e54bfaa7f">QwtScaleDraw::setLabelAlignment</a>(<span class="keywordtype">int</span> alignment)
647
 
<a name="l00850"></a>00850 <span class="preprocessor">#else</span>
648
 
<a name="l00851"></a><a class="code" href="class_qwt_scale_draw.html#3df0a1fe4a498ef028a5348e54bfaa7f">00851</a> <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_draw.html#3df0a1fe4a498ef028a5348e54bfaa7f">QwtScaleDraw::setLabelAlignment</a>(<a class="code" href="class_qwt_scale_draw.html#cd7ceeeac592ef08530788580b461c66">Qt::Alignment</a> alignment)
649
 
<a name="l00852"></a>00852 <span class="preprocessor">#endif</span>
650
 
<a name="l00853"></a>00853 <span class="preprocessor"></span>{
651
 
<a name="l00854"></a>00854     d_data-&gt;labelAlignment = alignment;
652
 
<a name="l00855"></a>00855 }   
653
 
<a name="l00856"></a>00856 
654
 
<a name="l00861"></a>00861 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span>
655
 
<a name="l00862"></a>00862 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_draw.html#112f0b9d3f718ea734f9a04b0a78bc0a">QwtScaleDraw::labelAlignment</a>() const
656
 
<a name="l00863"></a>00863 <span class="preprocessor">#else</span>
657
 
<a name="l00864"></a><a class="code" href="class_qwt_scale_draw.html#112f0b9d3f718ea734f9a04b0a78bc0a">00864</a> <span class="preprocessor"></span><a class="code" href="class_qwt_scale_draw.html#cd7ceeeac592ef08530788580b461c66">Qt::Alignment</a> <a class="code" href="class_qwt_scale_draw.html#112f0b9d3f718ea734f9a04b0a78bc0a">QwtScaleDraw::labelAlignment</a>() const
658
 
<a name="l00865"></a>00865 <span class="preprocessor">#endif</span>
659
 
<a name="l00866"></a>00866 <span class="preprocessor"></span>{
660
 
<a name="l00867"></a>00867     <span class="keywordflow">return</span> d_data-&gt;labelAlignment;
661
 
<a name="l00868"></a>00868 }
662
 
<a name="l00869"></a>00869 
663
 
<a name="l00874"></a><a class="code" href="class_qwt_scale_draw.html#b0c4ee29e81cee70e8a491e5ff80b8ff">00874</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_draw.html#b0c4ee29e81cee70e8a491e5ff80b8ff">QwtScaleDraw::maxLabelWidth</a>(<span class="keyword">const</span> QFont &amp;font)<span class="keyword"> const</span>
664
 
<a name="l00875"></a>00875 <span class="keyword"></span>{
665
 
<a name="l00876"></a>00876     <span class="keywordtype">int</span> maxWidth = 0;
666
 
<a name="l00877"></a>00877 
667
 
<a name="l00878"></a>00878     <span class="keyword">const</span> QwtValueList &amp;ticks = <a class="code" href="class_qwt_abstract_scale_draw.html#d15e796d2fd8bd1e2cfa66715bf58e2e">scaleDiv</a>().<a class="code" href="class_qwt_scale_div.html#991862ca84dc810d8500b360a0ed7a4f">ticks</a>(QwtScaleDiv::MajorTick);
668
 
<a name="l00879"></a>00879     <span class="keywordflow">for</span> (uint i = 0; i &lt; (uint)ticks.count(); i++)
669
 
<a name="l00880"></a>00880     {
670
 
<a name="l00881"></a>00881         <span class="keyword">const</span> <span class="keywordtype">double</span> v = ticks[i];
671
 
<a name="l00882"></a>00882         <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_scale_draw.html#d15e796d2fd8bd1e2cfa66715bf58e2e">scaleDiv</a>().contains(v) )
672
 
<a name="l00883"></a>00883         {
673
 
<a name="l00884"></a>00884             <span class="keyword">const</span> <span class="keywordtype">int</span> w = <a class="code" href="class_qwt_scale_draw.html#32d5c396cfc5020560c4ac2e47662a16">labelSize</a>(font, ticks[i]).width();
674
 
<a name="l00885"></a>00885             <span class="keywordflow">if</span> ( w &gt; maxWidth )
675
 
<a name="l00886"></a>00886                 maxWidth = w;
676
 
<a name="l00887"></a>00887         }
677
 
<a name="l00888"></a>00888     }
678
 
<a name="l00889"></a>00889 
679
 
<a name="l00890"></a>00890     <span class="keywordflow">return</span> maxWidth;
680
 
<a name="l00891"></a>00891 }
681
 
<a name="l00892"></a>00892 
682
 
<a name="l00897"></a><a class="code" href="class_qwt_scale_draw.html#b5fcdcbb4c3fe419e48efd3068ecd3e4">00897</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_draw.html#b5fcdcbb4c3fe419e48efd3068ecd3e4">QwtScaleDraw::maxLabelHeight</a>(<span class="keyword">const</span> QFont &amp;font)<span class="keyword"> const</span>
683
 
<a name="l00898"></a>00898 <span class="keyword"></span>{
684
 
<a name="l00899"></a>00899     <span class="keywordtype">int</span> maxHeight = 0;
685
 
<a name="l00900"></a>00900     
686
 
<a name="l00901"></a>00901     <span class="keyword">const</span> QwtValueList &amp;ticks = <a class="code" href="class_qwt_abstract_scale_draw.html#d15e796d2fd8bd1e2cfa66715bf58e2e">scaleDiv</a>().<a class="code" href="class_qwt_scale_div.html#991862ca84dc810d8500b360a0ed7a4f">ticks</a>(QwtScaleDiv::MajorTick);
687
 
<a name="l00902"></a>00902     <span class="keywordflow">for</span> (uint i = 0; i &lt; (uint)ticks.count(); i++)
688
 
<a name="l00903"></a>00903     {
689
 
<a name="l00904"></a>00904         <span class="keyword">const</span> <span class="keywordtype">double</span> v = ticks[i];
690
 
<a name="l00905"></a>00905         <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_scale_draw.html#d15e796d2fd8bd1e2cfa66715bf58e2e">scaleDiv</a>().contains(v) )
691
 
<a name="l00906"></a>00906         {
692
 
<a name="l00907"></a>00907             <span class="keyword">const</span> <span class="keywordtype">int</span> h = <a class="code" href="class_qwt_scale_draw.html#32d5c396cfc5020560c4ac2e47662a16">labelSize</a>(font, ticks[i]).height();
693
 
<a name="l00908"></a>00908             <span class="keywordflow">if</span> ( h &gt; maxHeight )
694
 
<a name="l00909"></a>00909                 maxHeight = h; 
695
 
<a name="l00910"></a>00910         }       
696
 
<a name="l00911"></a>00911     }   
697
 
<a name="l00912"></a>00912     
698
 
<a name="l00913"></a>00913     <span class="keywordflow">return</span> maxHeight;
699
 
<a name="l00914"></a>00914 }   
700
 
<a name="l00915"></a>00915 
701
 
<a name="l00916"></a>00916 <span class="keywordtype">void</span> QwtScaleDraw::updateMap()
702
 
<a name="l00917"></a>00917 {
703
 
<a name="l00918"></a>00918     <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> &amp;sm = <a class="code" href="class_qwt_abstract_scale_draw.html#e7488eb63ad73a2e69acb29ff069c904">scaleMap</a>();
704
 
<a name="l00919"></a>00919     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_draw.html#ba3a8530871137eb5f977e1eb3fe4975">orientation</a>() == Qt::Vertical )
705
 
<a name="l00920"></a>00920         sm.<a class="code" href="class_qwt_scale_map.html#a9a63a0b2e4ff81b1df23d9f968cd5b8">setPaintInterval</a>(d_data-&gt;pos.y() + d_data-&gt;len, d_data-&gt;pos.y());
706
 
<a name="l00921"></a>00921     <span class="keywordflow">else</span>
707
 
<a name="l00922"></a>00922         sm.<a class="code" href="class_qwt_scale_map.html#a9a63a0b2e4ff81b1df23d9f968cd5b8">setPaintInterval</a>(d_data-&gt;pos.x(), d_data-&gt;pos.x() + d_data-&gt;len);
708
 
<a name="l00923"></a>00923 }
709
 
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat May 24 18:47:40 2008 for Qwt User's Guide by&nbsp;
710
 
<a href="http://www.doxygen.org/index.html">
711
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.0 </small></address>
712
 
</body>
713
 
</html>