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

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Agata Cacko <cacko.azh@gmail.com>
0003  *  SPDX-FileCopyrightText: 2011 Lukáš Tvrdý <lukast.dev@gmail.com>
0004  *
0005  *  SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 #ifndef KIS_CURVEOP_OPTION_DATA_H
0008 #define KIS_CURVEOP_OPTION_DATA_H
0009 
0010 
0011 #include "kis_types.h"
0012 #include <boost/operators.hpp>
0013 
0014 class KisPropertiesConfiguration;
0015 
0016 
0017 struct KisCurveOpOptionData : boost::equality_comparable<KisCurveOpOptionData>
0018 {
0019     inline friend bool operator==(const KisCurveOpOptionData &lhs, const KisCurveOpOptionData &rhs) {
0020         return lhs.curve_paint_connection_line == rhs.curve_paint_connection_line
0021             && lhs.curve_smoothing == rhs.curve_smoothing
0022             && lhs.curve_stroke_history_size == rhs.curve_stroke_history_size
0023             && lhs.curve_line_width == rhs.curve_line_width
0024             && lhs.curve_curves_opacity == rhs.curve_curves_opacity;
0025     }
0026 
0027 
0028     bool curve_paint_connection_line {false};
0029     bool curve_smoothing {false};
0030     int curve_stroke_history_size {30};
0031     int curve_line_width {1};
0032     qreal curve_curves_opacity {1.0};
0033 
0034     bool read(const KisPropertiesConfiguration *setting);
0035     void write(KisPropertiesConfiguration *setting) const;
0036 };
0037 
0038 #endif // KIS_CURVEOP_OPTION_DATA_H