9#include <klocalizedstring.h>
13auto makeSizePack = lager::lenses::getset(
35 if (optionData.proportional) {
36 pack.pxSize = optionData.size * qreal(diameter) * scale / 100.0;
37 pack.proportionalSize = optionData.size;
39 pack.pxSize = optionData.size;
40 pack.proportionalSize = optionData.size * 100.0 / (qreal(diameter) * scale);
47 [] (std::tuple<KisSprayShapeOptionData, int, qreal>
value,
const SprayShapeSizePack &pack) -> std::tuple<KisSprayShapeOptionData, int, qreal> {
50 optionData.size = pack.
isProportional ? pack.proportionalSize : pack.pxSize;
51 optionData.proportional = pack.isProportional;
53 return std::make_tuple(optionData,
59auto calcEffectiveSize = lager::lenses::getset(
77 : optionData(_optionData)
78 , sizePack {lager::with(
84 ,
LAGER_QT(effectiveSize) {sizePack.zoom(calcEffectiveSize)}
float value(const T *src, size_t ch)
KisSprayShapeOptionModel(lager::cursor< KisSprayShapeOptionData > optionData, lager::cursor< int > diameter, lager::cursor< qreal > scale)
int size(const Forest< T > &forest)