KD Chart 2  [rev.2.5.1]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
KDChartPrintingParameters.cpp
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2013 Klaralvdalens Datakonsult AB. All rights reserved.
3 **
4 ** This file is part of the KD Chart library.
5 **
6 ** Licensees holding valid commercial KD Chart licenses may use this file in
7 ** accordance with the KD Chart Commercial License Agreement provided with
8 ** the Software.
9 **
10 **
11 ** This file may be distributed and/or modified under the terms of the
12 ** GNU General Public License version 2 and version 3 as published by the
13 ** Free Software Foundation and appearing in the file LICENSE.GPL.txt included.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** Contact info@kdab.com if any conditions of this licensing are not
19 ** clear to you.
20 **
21 **********************************************************************/
22 
24 
25 using namespace KDChart;
26 
27 PrintingParameters::PrintingParameters()
28  : scaleFactor( 1.0 )
29 {
30 }
31 
32 PrintingParameters* PrintingParameters::instance()
33 {
34  static PrintingParameters instance;
35  return &instance;
36 }
37 
38 void PrintingParameters::setScaleFactor( const qreal scaleFactor )
39 {
40  instance()->scaleFactor = scaleFactor;
41 }
42 
44 {
45  instance()->scaleFactor = 1.0;
46 }
47 
48 QPen PrintingParameters::scalePen( const QPen& pen )
49 {
50  if ( instance()->scaleFactor == 1.0 )
51  return pen;
52 
53  QPen resultPen = pen;
54  resultPen.setWidthF( resultPen.widthF() * instance()->scaleFactor );
55  if ( resultPen.widthF() == 0.0 )
56  resultPen.setWidthF( instance()->scaleFactor );
57 
58  return resultPen;
59 }

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-chart/