File indexing completed on 2024-05-12 15:58:26

0001 /*
0002  *  SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef __KIS_LOD_TRANSFORM_H
0008 #define __KIS_LOD_TRANSFORM_H
0009 
0010 #include <kritaimage_export.h>
0011 #include <brushengine/kis_paint_information.h>
0012 #include "kis_lod_transform_base.h"
0013 
0014 class KRITAIMAGE_EXPORT KisLodTransform : public KisLodTransformBase
0015 {
0016 public:
0017 
0018     KisLodTransform(int levelOfDetail)
0019         : KisLodTransformBase(levelOfDetail)
0020     {
0021     }
0022 
0023     template <class PaintDeviceTypeSP>
0024     KisLodTransform(PaintDeviceTypeSP device)
0025         : KisLodTransformBase(device->defaultBounds()->currentLevelOfDetail())
0026     {
0027     }
0028 
0029     using KisLodTransformBase::map;
0030 
0031     KisPaintInformation map(KisPaintInformation pi) const {
0032         QPointF pos = pi.pos();
0033         pi.setPos(this->map(pos));
0034         pi.setLevelOfDetail(m_levelOfDetail);
0035         return pi;
0036     }
0037 };
0038 
0039 #endif /* __KIS_LOD_TRANSFORM_H */