File indexing completed on 2024-06-16 04:17:33
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef MYPAINTSTANDARDOPTIONDATA_H 0007 #define MYPAINTSTANDARDOPTIONDATA_H 0008 0009 #include <MyPaintCurveOptionData.h> 0010 #include <kis_paintop_lod_limitations.h> 0011 0012 0013 struct MyPaintRadiusLogarithmicData : MyPaintCurveOptionData 0014 { 0015 MyPaintRadiusLogarithmicData(); 0016 }; 0017 0018 struct MyPaintHardnessData : MyPaintCurveOptionData 0019 { 0020 MyPaintHardnessData(); 0021 }; 0022 0023 struct MyPaintOpacityData : MyPaintCurveOptionData 0024 { 0025 MyPaintOpacityData(); 0026 }; 0027 0028 struct MyPaintRadiusByRandomData : MyPaintCurveOptionData 0029 { 0030 MyPaintRadiusByRandomData() 0031 : MyPaintCurveOptionData(KoID("radius_by_random", i18n("Radius by Random")), 0032 false, true, 0.0, 1.50) 0033 { 0034 } 0035 0036 KisPaintopLodLimitations lodLimitations() const { 0037 KisPaintopLodLimitations l; 0038 if (qAbs(strengthValue) > 0.05) { 0039 l.limitations << KoID("Radius by Random", i18nc("PaintOp instant preview limitation", "Radius by Random, consider disabling Instant Preview")); 0040 } 0041 return l; 0042 } 0043 }; 0044 0045 struct MyPaintAntiAliasingData : MyPaintCurveOptionData 0046 { 0047 MyPaintAntiAliasingData() 0048 : MyPaintCurveOptionData(KoID("anti_aliasing", i18n("Anti Aliasing")), 0049 false, true, 0.0, 1.0) 0050 { 0051 } 0052 }; 0053 0054 struct MyPaintEllipticalDabAngleData : MyPaintCurveOptionData 0055 { 0056 MyPaintEllipticalDabAngleData() 0057 : MyPaintCurveOptionData(KoID("elliptical_dab_angle", 0058 i18n("Elliptical Dab Angle")), 0059 false, true, 0.0, 180.0) 0060 { 0061 } 0062 }; 0063 0064 struct MyPaintEllipticalDabRatioData : MyPaintCurveOptionData 0065 { 0066 MyPaintEllipticalDabRatioData() 0067 : MyPaintCurveOptionData(KoID("elliptical_dab_ratio", i18n("Elliptical Dab Ratio")), 0068 false, true, 1.0, 10.0) 0069 { 0070 } 0071 }; 0072 0073 0074 struct MyPaintDirectionFilterData : MyPaintCurveOptionData 0075 { 0076 MyPaintDirectionFilterData() 0077 : MyPaintCurveOptionData(KoID("direction_filter", i18n("Direction Filter")), 0078 false, true, 0.0, 10.0) 0079 { 0080 } 0081 }; 0082 0083 struct MyPaintSnapToPixelsData : MyPaintCurveOptionData 0084 { 0085 MyPaintSnapToPixelsData() 0086 : MyPaintCurveOptionData(KoID("snap_to_pixel", i18n("Snap To Pixel")), 0087 false, true, 0.0, 10.0) 0088 { 0089 } 0090 }; 0091 0092 0093 struct MyPaintPressureGainData : MyPaintCurveOptionData 0094 { 0095 MyPaintPressureGainData() 0096 : MyPaintCurveOptionData(KoID("pressure_gain_log", i18n("Pressure Gain")), 0097 false, true, -1.8, 1.8) 0098 { 0099 } 0100 }; 0101 0102 0103 struct MyPaintChangeColorHData : MyPaintCurveOptionData 0104 { 0105 MyPaintChangeColorHData() 0106 : MyPaintCurveOptionData(KoID("change_color_h", i18n("Change Color H")), 0107 false, true, -2.0, 2.0) 0108 { 0109 } 0110 }; 0111 0112 struct MyPaintChangeColorLData : MyPaintCurveOptionData 0113 { 0114 MyPaintChangeColorLData() 0115 : MyPaintCurveOptionData(KoID("change_color_l", i18n("Change Color L")), 0116 false, true, -2.0, 2.0) 0117 { 0118 } 0119 }; 0120 0121 struct MyPaintChangeColorVData : MyPaintCurveOptionData 0122 { 0123 MyPaintChangeColorVData() 0124 : MyPaintCurveOptionData(KoID("change_color_v", i18n("Change Color V")), 0125 false, true, -2.0, 2.0) 0126 { 0127 } 0128 }; 0129 0130 struct MyPaintChangeColorHSLSData : MyPaintCurveOptionData 0131 { 0132 MyPaintChangeColorHSLSData() 0133 : MyPaintCurveOptionData(KoID("change_color_hsl_s", i18n("Change Color HSL S")), 0134 false, true, -2.0, 2.0) 0135 { 0136 } 0137 }; 0138 0139 struct MyPaintChangeColorHSVSData : MyPaintCurveOptionData 0140 { 0141 MyPaintChangeColorHSVSData() 0142 : MyPaintCurveOptionData(KoID("change_color_hsv_s", i18n("Change Color HSV S")), 0143 false, true, -2.0, 2.0) 0144 { 0145 } 0146 }; 0147 0148 struct MyPaintColorizeData : MyPaintCurveOptionData 0149 { 0150 MyPaintColorizeData() 0151 : MyPaintCurveOptionData(KoID("colorize", i18n("Colorize")), 0152 false, true, 0.0, 1.0) 0153 { 0154 } 0155 }; 0156 0157 struct MyPaintPosterizeData : MyPaintCurveOptionData 0158 { 0159 MyPaintPosterizeData() 0160 : MyPaintCurveOptionData(KoID("posterize", i18n("Posterize")), 0161 false, true, 0.0, 1.0) 0162 { 0163 } 0164 }; 0165 0166 struct MyPaintPosterizationLevelsData : MyPaintCurveOptionData 0167 { 0168 MyPaintPosterizationLevelsData() 0169 : MyPaintCurveOptionData(KoID("posterize_num", i18n("Posterization Levels")), 0170 false, true, 0.0, 1.28) 0171 { 0172 } 0173 }; 0174 0175 struct MyPaintFineSpeedGammaData : MyPaintCurveOptionData 0176 { 0177 MyPaintFineSpeedGammaData() 0178 : MyPaintCurveOptionData(KoID("speed1_gamma", i18n("Fine Speed Gamma")), 0179 false, true, -8.0, 8.0) 0180 { 0181 } 0182 }; 0183 0184 struct MyPaintGrossSpeedGammaData : MyPaintCurveOptionData 0185 { 0186 MyPaintGrossSpeedGammaData() 0187 : MyPaintCurveOptionData(KoID("speed2_gamma", i18n("Gross Speed Gamma")), 0188 false, true, -8.0, 8.0) 0189 { 0190 } 0191 }; 0192 0193 struct MyPaintFineSpeedSlownessData : MyPaintCurveOptionData 0194 { 0195 MyPaintFineSpeedSlownessData() 0196 : MyPaintCurveOptionData(KoID("speed1_slowness", i18n("Fine Speed Slowness")), 0197 false, true, -8.0, 8.0) 0198 { 0199 } 0200 }; 0201 0202 struct MyPaintGrossSpeedSlownessData : MyPaintCurveOptionData 0203 { 0204 MyPaintGrossSpeedSlownessData() 0205 : MyPaintCurveOptionData(KoID("speed2_slowness", i18n("Gross Speed Slowness")), 0206 false, true, -8.0, 8.0) 0207 { 0208 } 0209 }; 0210 0211 struct MyPaintOffsetBySpeedData : MyPaintCurveOptionData 0212 { 0213 MyPaintOffsetBySpeedData() 0214 : MyPaintCurveOptionData(KoID("offset_by_speed", i18n("Offset By Speed")), 0215 false, true, -3.0, 3.0) 0216 { 0217 } 0218 }; 0219 0220 struct MyPaintOffsetBySpeedFilterData : MyPaintCurveOptionData 0221 { 0222 MyPaintOffsetBySpeedFilterData() 0223 : MyPaintCurveOptionData(KoID("offset_by_speed_slowness", i18n("Offset by Speed Filter")), 0224 false, true, 0.0, 15.0) 0225 { 0226 } 0227 }; 0228 0229 struct MyPaintOffsetByRandomData : MyPaintCurveOptionData 0230 { 0231 MyPaintOffsetByRandomData() 0232 : MyPaintCurveOptionData(KoID("offset_by_random", i18n("Offset By Random")), 0233 false, true, -3.0, 3.0) 0234 { 0235 } 0236 0237 KisPaintopLodLimitations lodLimitations() const { 0238 KisPaintopLodLimitations l; 0239 if (qAbs(strengthValue) > 0.05) { 0240 l.limitations << KoID("Offset by Random", i18nc("PaintOp instant preview limitation", "Offset by Random, consider disabling Instant Preview")); 0241 } 0242 return l; 0243 } 0244 0245 }; 0246 0247 struct MyPaintDabsPerBasicRadiusData : MyPaintCurveOptionData 0248 { 0249 MyPaintDabsPerBasicRadiusData() 0250 : MyPaintCurveOptionData(KoID("dabs_per_basic_radius", i18n("Dabs Per Basic Radius")), 0251 false, true, 0.0, 6.0) 0252 { 0253 } 0254 }; 0255 0256 struct MyPaintDabsPerActualRadiusData : MyPaintCurveOptionData 0257 { 0258 MyPaintDabsPerActualRadiusData() 0259 : MyPaintCurveOptionData(KoID("dabs_per_actual_radius", i18n("Dabs Per Actual Radius")), 0260 false, true, 0.0, 6.0) 0261 { 0262 } 0263 }; 0264 0265 struct MyPaintDabsPerSecondData : MyPaintCurveOptionData 0266 { 0267 MyPaintDabsPerSecondData() 0268 : MyPaintCurveOptionData(KoID("dabs_per_second", i18n("Dabs per Second")), 0269 false, true, 0.0, 80.0) 0270 { 0271 } 0272 }; 0273 0274 0275 struct MyPaintOpaqueLinearizeData : MyPaintCurveOptionData 0276 { 0277 MyPaintOpaqueLinearizeData() 0278 : MyPaintCurveOptionData(KoID("opaque_linearize", i18n("Opaque Linearize")), 0279 false, true, 0.0, 3.0) 0280 { 0281 } 0282 }; 0283 0284 struct MyPaintOpaqueMultiplyData : MyPaintCurveOptionData 0285 { 0286 MyPaintOpaqueMultiplyData() 0287 : MyPaintCurveOptionData(KoID("opaque_multiply", i18n("Opaque Multiply")), 0288 false, true, 0.0, 2.0) 0289 { 0290 } 0291 }; 0292 0293 struct MyPaintSlowTrackingPerDabData : MyPaintCurveOptionData 0294 { 0295 MyPaintSlowTrackingPerDabData() 0296 : MyPaintCurveOptionData(KoID("slow_tracking_per_dab", i18n("Slow tracking per dab")), 0297 false, true, 0.0, 10.0) 0298 { 0299 } 0300 }; 0301 0302 struct MyPaintSlowTrackingData : MyPaintCurveOptionData 0303 { 0304 MyPaintSlowTrackingData() 0305 : MyPaintCurveOptionData(KoID("slow_tracking", i18n("Slow Tracking")), 0306 false, true, 0.0, 10.0) 0307 { 0308 } 0309 }; 0310 0311 struct MyPaintTrackingNoiseData : MyPaintCurveOptionData 0312 { 0313 MyPaintTrackingNoiseData() 0314 : MyPaintCurveOptionData(KoID("tracking_noise", i18n("Tracking Noise")), 0315 false, true, 0.0, 12.0) 0316 { 0317 } 0318 }; 0319 0320 struct MyPaintSmudgeData : MyPaintCurveOptionData 0321 { 0322 MyPaintSmudgeData() 0323 : MyPaintCurveOptionData(KoID("smudge", i18n("Smudge")), 0324 false, true, 0.0, 1.0) 0325 { 0326 } 0327 }; 0328 0329 struct MyPaintSmudgeLengthData : MyPaintCurveOptionData 0330 { 0331 MyPaintSmudgeLengthData() 0332 : MyPaintCurveOptionData(KoID("smudge_length", i18n("Smudge Length")), 0333 false, true, 0.0, 1.0) 0334 { 0335 } 0336 }; 0337 0338 struct MyPaintSmudgeRadiusLogData : MyPaintCurveOptionData 0339 { 0340 MyPaintSmudgeRadiusLogData() 0341 : MyPaintCurveOptionData(KoID("smudge_radius_log", i18n("Smudge Radius Log")), 0342 false, true, -1.6, 1.6) 0343 { 0344 } 0345 }; 0346 0347 struct MyPaintSmudgeLengthMultiplierData : MyPaintCurveOptionData 0348 { 0349 MyPaintSmudgeLengthMultiplierData() 0350 : MyPaintCurveOptionData(KoID("smudge_length_log", i18n("Smudge Length Multiplier")), 0351 false, true, 0.0, 20) 0352 { 0353 } 0354 }; 0355 0356 struct MyPaintSmudgeBucketData : MyPaintCurveOptionData 0357 { 0358 MyPaintSmudgeBucketData() 0359 : MyPaintCurveOptionData(KoID("smudge_bucket", i18n("Smudge Bucket")), 0360 false, true, 0.0, 255.0) 0361 { 0362 } 0363 }; 0364 0365 struct MyPaintSmudgeTransparencyData : MyPaintCurveOptionData 0366 { 0367 MyPaintSmudgeTransparencyData() 0368 : MyPaintCurveOptionData(KoID("smudge_transparency", i18n("Smudge Transparency")), 0369 false, true, -1.0, 1.0) 0370 { 0371 } 0372 }; 0373 0374 struct MyPaintStrokeDurationLogData : MyPaintCurveOptionData 0375 { 0376 MyPaintStrokeDurationLogData() 0377 : MyPaintCurveOptionData(KoID("stroke_duration_logarithmic", i18n("Stroke Duration log")), 0378 false, true, -1.0, 7.0) 0379 { 0380 } 0381 }; 0382 0383 struct MyPaintStrokeHoldtimeData : MyPaintCurveOptionData 0384 { 0385 MyPaintStrokeHoldtimeData() 0386 : MyPaintCurveOptionData(KoID("stroke_holdtime", i18n("Stroke Holdtime")), 0387 false, true, 0.0, 10.0) 0388 { 0389 } 0390 }; 0391 0392 struct MyPaintStrokeThresholdData : MyPaintCurveOptionData 0393 { 0394 MyPaintStrokeThresholdData() 0395 : MyPaintCurveOptionData(KoID("stroke_threshold", i18n("Stroke Threshold")), 0396 false, true, 0.0, 0.5) 0397 { 0398 } 0399 }; 0400 0401 struct MyPaintCustomInputData : MyPaintCurveOptionData 0402 { 0403 MyPaintCustomInputData() 0404 : MyPaintCurveOptionData(KoID("custom_input", i18n("Custom Input")), 0405 false, true, -5.0, 5.0) 0406 { 0407 } 0408 }; 0409 0410 struct MyPaintCustomInputSlownessData : MyPaintCurveOptionData 0411 { 0412 MyPaintCustomInputSlownessData() 0413 : MyPaintCurveOptionData(KoID("custom_input_slowness", i18n("Custom Input Slowness")), 0414 false, true, 0.0, 10.0) 0415 { 0416 } 0417 }; 0418 0419 #endif // MYPAINTSTANDARDOPTIONDATA_H