File indexing completed on 2024-06-16 04:17:20

0001 /*
0002  *  SPDX-FileCopyrightText: 2009, 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KIS_BRUSHSIZE_OPTION_DATA_H
0007 #define KIS_BRUSHSIZE_OPTION_DATA_H
0008 
0009 
0010 #include "kis_types.h"
0011 #include <boost/operators.hpp>
0012 
0013 class KisPropertiesConfiguration;
0014 
0015 struct KisBrushSizeOptionData : boost::equality_comparable<KisBrushSizeOptionData>
0016 {
0017     inline friend bool operator==(const KisBrushSizeOptionData &lhs, const KisBrushSizeOptionData &rhs) {
0018         return qFuzzyCompare(lhs.brushDiameter, rhs.brushDiameter)
0019             && qFuzzyCompare(lhs.brushAspect, rhs.brushAspect)
0020             && qFuzzyCompare(lhs.brushRotation, rhs.brushRotation)
0021             && qFuzzyCompare(lhs.brushScale, rhs.brushScale)
0022             && qFuzzyCompare(lhs.brushSpacing, rhs.brushSpacing)
0023             && qFuzzyCompare(lhs.brushDensity, rhs.brushDensity)
0024             && qFuzzyCompare(lhs.brushJitterMovement, rhs.brushJitterMovement)
0025             && lhs.brushJitterMovementEnabled == rhs.brushJitterMovementEnabled;
0026     }
0027 
0028     qreal brushDiameter {20.0};
0029     qreal brushAspect {1.0};
0030     qreal brushRotation {0.0};
0031     qreal brushScale {1.0};
0032     qreal brushSpacing {0.3};
0033     qreal brushDensity {1.0};
0034     qreal brushJitterMovement {0.0};
0035     bool brushJitterMovementEnabled {false};
0036 
0037     bool read(const KisPropertiesConfiguration *setting);
0038     void write(KisPropertiesConfiguration *setting) const;
0039 };
0040 
0041 #endif // KIS_BRUSHSIZE_OPTION_DATA_H