File indexing completed on 2024-05-26 04:33:56
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Agata Cacko <cacko.azh@gmail.com> 0003 * SPDX-FileCopyrightText: 2009, 2010 Lukáš Tvrdý (lukast.dev@gmail.com) 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 #ifndef KIS_GRID_OP_OPTION_DATA_H 0008 #define KIS_GRID_OP_OPTION_DATA_H 0009 0010 0011 #include "kis_types.h" 0012 #include <boost/operators.hpp> 0013 #include <kritapaintop_export.h> 0014 0015 class KisPropertiesConfiguration; 0016 0017 0018 const QString DIAMETER = "Grid/diameter"; 0019 const QString GRID_WIDTH = "Grid/gridWidth"; 0020 const QString GRID_HEIGHT = "Grid/gridHeight"; 0021 const QString HORIZONTAL_OFFSET = "Grid/horizontalOffset"; 0022 const QString VERTICAL_OFFSET = "Grid/verticalOffset"; 0023 const QString GRID_DIVISION_LEVEL = "Grid/divisionLevel"; 0024 const QString GRID_PRESSURE_DIVISION = "Grid/pressureDivision"; 0025 const QString GRID_SCALE = "Grid/scale"; 0026 const QString GRID_VERTICAL_BORDER = "Grid/verticalBorder"; 0027 const QString GRID_HORIZONTAL_BORDER = "Grid/horizontalBorder"; 0028 const QString GRID_RANDOM_BORDER = "Grid/randomBorder"; 0029 0030 0031 struct KisGridOpOptionData : boost::equality_comparable<KisGridOpOptionData> 0032 { 0033 0034 inline friend bool operator==(const KisGridOpOptionData &lhs, const KisGridOpOptionData &rhs) { 0035 return lhs.diameter == rhs.diameter 0036 && lhs.grid_width == rhs.grid_width 0037 && lhs.grid_height == rhs.grid_height 0038 0039 && lhs.horizontal_offset == rhs.horizontal_offset 0040 && lhs.vertical_offset == rhs.vertical_offset 0041 && lhs.grid_division_level == rhs.grid_division_level 0042 0043 && lhs.grid_pressure_division == rhs.grid_pressure_division 0044 && lhs.grid_scale == rhs.grid_scale 0045 && lhs.grid_vertical_border == rhs.grid_vertical_border 0046 0047 && lhs.grid_horizontal_border == rhs.grid_horizontal_border 0048 && lhs.grid_random_border == rhs.grid_random_border 0049 ; 0050 } 0051 0052 // sane defaults (for Coverity) 0053 int diameter {25}; 0054 int grid_width {25}; 0055 int grid_height {25}; 0056 0057 qreal horizontal_offset {0.0}; 0058 qreal vertical_offset {0.0}; 0059 int grid_division_level {2}; 0060 0061 bool grid_pressure_division {false}; 0062 qreal grid_scale {1.0}; 0063 qreal grid_vertical_border {0.0}; 0064 0065 qreal grid_horizontal_border {0.0}; 0066 bool grid_random_border {false}; 0067 0068 // functions 0069 bool read(const KisPropertiesConfiguration *setting); 0070 void write(KisPropertiesConfiguration *setting) const; 0071 0072 }; 0073 0074 #endif // KIS_GRID_OP_OPTION_DATA_H