File indexing completed on 2024-05-12 04:20:36

0001 /*
0002  * SPDX-FileCopyrightText: 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved.
0003  *
0004  * This file is part of the KD Chart library.
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #include "KChartPrintingParameters.h"
0010 
0011 using namespace KChart;
0012 
0013 PrintingParameters::PrintingParameters()
0014     : m_scaleFactor( 1.0 )
0015 {
0016 }
0017 
0018 PrintingParameters* PrintingParameters::instance()
0019 {
0020     static PrintingParameters instance;
0021     return &instance;
0022 }
0023 
0024 qreal PrintingParameters::scaleFactor()
0025 {
0026     return instance()->m_scaleFactor;
0027 }
0028 
0029 void PrintingParameters::setScaleFactor( const qreal scaleFactor )
0030 {
0031     instance()->m_scaleFactor = scaleFactor;
0032 }
0033 
0034 void PrintingParameters::resetScaleFactor()
0035 {
0036     instance()->m_scaleFactor = 1.0;
0037 }
0038 
0039 QPen PrintingParameters::scalePen( const QPen& pen )
0040 {
0041     if ( instance()->m_scaleFactor == 1.0 )
0042         return pen;
0043 
0044     QPen resultPen = pen;
0045     resultPen.setWidthF( resultPen.widthF() * instance()->m_scaleFactor );
0046     if ( resultPen.widthF() == 0.0 )
0047         resultPen.setWidthF( instance()->m_scaleFactor );
0048 
0049     return resultPen;
0050 }