File indexing completed on 2024-05-12 16:01:45

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "KisDetachedShapesViewConverter.h"
0008 
0009 KisDetachedShapesViewConverter::KisDetachedShapesViewConverter(qreal xRes, qreal yRes)
0010     : m_xRes(xRes),
0011       m_yRes(yRes)
0012 {
0013     setZoom(0.1); // set the superclass to not hit the optimization of zoom=100%
0014 }
0015 
0016 KisClonableViewConverter *KisDetachedShapesViewConverter::clone() const
0017 {
0018     return new KisDetachedShapesViewConverter(m_xRes, m_yRes);
0019 }
0020 
0021 void KisDetachedShapesViewConverter::zoom(qreal *zoomX, qreal *zoomY) const
0022 {
0023     Q_ASSERT(zoomX);
0024     Q_ASSERT(zoomY);
0025     *zoomX = m_xRes;
0026     *zoomY = m_yRes;
0027 }
0028 
0029 qreal KisDetachedShapesViewConverter::documentToViewX(qreal documentX) const
0030 {
0031     return documentX * m_xRes;
0032 }
0033 
0034 qreal KisDetachedShapesViewConverter::documentToViewY(qreal documentY) const
0035 {
0036     return documentY * m_yRes;
0037 }
0038 
0039 qreal KisDetachedShapesViewConverter::viewToDocumentX(qreal viewX) const
0040 {
0041     return viewX / m_xRes;
0042 }
0043 
0044 qreal KisDetachedShapesViewConverter::viewToDocumentY(qreal viewY) const
0045 {
0046     return viewY / m_yRes;
0047 }
0048 
0049 qreal KisDetachedShapesViewConverter::zoom() const
0050 {
0051     Q_ASSERT_X(0, "KisDetachedShapesViewConverter::zoom()",
0052                "Not possible to return a single zoom. "
0053                "Don't use it. Sorry.");
0054 
0055     return m_xRes;
0056 }