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

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 #ifndef ZOOMPARAMETERS_H
0010 #define ZOOMPARAMETERS_H
0011 
0012 //
0013 //  W A R N I N G
0014 //  -------------
0015 //
0016 // This file is not part of the KD Chart API.  It exists purely as an
0017 // implementation detail.  This header file may change from version to
0018 // version without notice, or even be removed.
0019 //
0020 // We mean it.
0021 //
0022 
0023 namespace KChart {
0024     /**
0025       * ZoomParameters stores the center and the factor of zooming internally
0026       * \internal
0027       */
0028     class ZoomParameters {
0029     public:
0030         ZoomParameters()
0031         : xFactor( 1.0 ),
0032           yFactor( 1.0 ),
0033           xCenter( 0.5 ),
0034           yCenter( 0.5)
0035         {
0036         }
0037 
0038         ZoomParameters( qreal xFactor, qreal yFactor, const QPointF& center )
0039         : xFactor( xFactor ),
0040           yFactor( yFactor ),
0041           xCenter( center.x() ),
0042           yCenter( center.y() )
0043         {
0044         }
0045 
0046         void setCenter( const QPointF& center )
0047         {
0048             xCenter = center.x();
0049             yCenter = center.y();
0050         }
0051         const QPointF center() const
0052         {
0053             return QPointF( xCenter, yCenter );
0054         }
0055 
0056         qreal xFactor;
0057         qreal yFactor;
0058 
0059         qreal xCenter;
0060         qreal yCenter;
0061     };
0062 }
0063 
0064 #endif