Krita Source Code Documentation
Loading...
Searching...
No Matches
InnerGlow Class Reference

#include <kis_dlg_layer_style.h>

+ Inheritance diagram for InnerGlow:

Public Types

enum  Mode { InnerGlowMode = 0 , OuterGlowMode }
 

Signals

void configChanged ()
 

Public Member Functions

void fetchConfig (psd_layer_effects_glow_common *innerGlow) const
 
 InnerGlow (Mode mode, KisCanvasResourceProvider *resourceProvider, QWidget *parent)
 
void setConfig (const psd_layer_effects_glow_common *innerGlow)
 

Private Attributes

Mode m_mode
 
KisCanvasResourceProviderm_resourceProvider
 
Ui::WdgInnerGlow ui
 

Detailed Description

Definition at line 137 of file kis_dlg_layer_style.h.

Member Enumeration Documentation

◆ Mode

Enumerator
InnerGlowMode 
OuterGlowMode 

Definition at line 140 of file kis_dlg_layer_style.h.

140 {
141 InnerGlowMode = 0,
143 };

Constructor & Destructor Documentation

◆ InnerGlow()

InnerGlow::InnerGlow ( Mode mode,
KisCanvasResourceProvider * resourceProvider,
QWidget * parent )

Definition at line 1162 of file kis_dlg_layer_style.cpp.

1163 : QWidget(parent),
1164 m_mode(mode),
1165 m_resourceProvider(resourceProvider)
1166{
1167 ui.setupUi(this);
1168
1169 if (mode == OuterGlowMode) {
1170 ui.groupBox->setTitle(i18n("Outer Glow"));
1171 }
1172
1173 ui.intOpacity->setRange(0, 100);
1174 KisSpinBoxI18nHelper::setText(ui.intOpacity, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
1175
1176 ui.intNoise->setRange(0, 100);
1177 KisSpinBoxI18nHelper::setText(ui.intNoise, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
1178
1179 ui.intChoke->setRange(0, 100);
1180 KisSpinBoxI18nHelper::setText(ui.intChoke, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
1181
1182 ui.intSize->setRange(0, 250);
1183 ui.intSize->setSuffix(i18n(" px"));
1184 ui.intSize->setExponentRatio(2.0);
1185
1186 ui.intRange->setRange(1, 100);
1187 KisSpinBoxI18nHelper::setText(ui.intRange, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
1188
1189 ui.intJitter->setRange(0, 100);
1190 KisSpinBoxI18nHelper::setText(ui.intJitter, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
1191
1192 ui.cmbGradient->setCanvasResourcesInterface(resourceProvider->resourceManager()->canvasResourcesInterface());
1193
1194 connect(ui.cmbCompositeOp, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
1195 connect(ui.intOpacity, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1196 connect(ui.intNoise, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1197
1198 connect(ui.radioColor, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
1199 connect(ui.bnColor, SIGNAL(changed(KoColor)), SIGNAL(configChanged()));
1200 connect(ui.radioGradient, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
1201 connect(ui.cmbGradient, SIGNAL(gradientChanged(KoAbstractGradientSP)), SIGNAL(configChanged()));
1202
1203 connect(ui.cmbTechnique, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
1204 connect(ui.cmbSource, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
1205 connect(ui.intChoke, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1206 connect(ui.intSize, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1207
1208 connect(ui.cmbContour, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
1209 connect(ui.chkAntiAliased, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
1210 connect(ui.intRange, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1211 connect(ui.intJitter, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1212
1213 if (m_mode == OuterGlowMode) {
1214 ui.cmbSource->hide();
1215 ui.lblSource->hide();
1216 ui.lblChoke->setText(i18nc("layer styles parameter", "Spread:"));
1217 }
1218
1219}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
Ui::WdgInnerGlow ui
void configChanged()
KisCanvasResourceProvider * m_resourceProvider
KoCanvasResourceProvider * resourceManager()
KoCanvasResourcesInterfaceSP canvasResourcesInterface() const
void setText(QSpinBox *spinBox, const QStringView textTemplate)

References KoCanvasResourceProvider::canvasResourcesInterface(), configChanged(), connect(), m_mode, OuterGlowMode, KisCanvasResourceProvider::resourceManager(), KisSpinBoxI18nHelper::setText(), and ui.

Member Function Documentation

◆ configChanged

void InnerGlow::configChanged ( )
signal

◆ fetchConfig()

void InnerGlow::fetchConfig ( psd_layer_effects_glow_common * innerGlow) const

Definition at line 1257 of file kis_dlg_layer_style.cpp.

1258{
1259 config->setBlendMode(ui.cmbCompositeOp->selectedCompositeOp().id());
1260 config->setOpacity(ui.intOpacity->value());
1261 config->setNoise(ui.intNoise->value());
1262
1263 if (ui.radioColor->isChecked()) {
1264 config->setFillType(psd_fill_solid_color);
1265 }
1266 else {
1267 config->setFillType(psd_fill_gradient);
1268 }
1269
1270 config->setColor(ui.bnColor->color());
1271 KoAbstractGradientSP gradient = ui.cmbGradient->gradient(true);
1272 if (gradient) {
1273 config->setGradient(GradientPointerConverter::resourceToStyle(gradient));
1274 }
1275 config->setTechnique((psd_technique_type)ui.cmbTechnique->currentIndex());
1276 config->setSpread(ui.intChoke->value());
1277 config->setSize(ui.intSize->value());
1278
1279 if (m_mode == InnerGlowMode) {
1281 dynamic_cast<psd_layer_effects_inner_glow *>(config);
1283
1284 iglow->setSource((psd_glow_source)ui.cmbSource->currentIndex());
1285 }
1286
1287 // FIXME: Curve editing
1288 //ui.cmbContour;
1289
1290 config->setAntiAliased(ui.chkAntiAliased->isChecked());
1291 config->setRange(ui.intRange->value());
1292 config->setJitter(ui.intJitter->value());
1293}
static KoAbstractGradientSP resourceToStyle(KoAbstractGradientSP gradient)
void setSource(psd_glow_source value)
Definition psd.h:610
#define KIS_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:75
psd_glow_source
Definition psd.h:129
@ psd_fill_solid_color
Definition psd.h:124
@ psd_fill_gradient
Definition psd.h:125
psd_technique_type
Definition psd.h:115

References InnerGlowMode, KIS_ASSERT_RECOVER_RETURN, m_mode, psd_fill_gradient, psd_fill_solid_color, GradientPointerConverter::resourceToStyle(), psd_layer_effects_shadow_base::setAntiAliased(), psd_layer_effects_shadow_base::setBlendMode(), psd_layer_effects_shadow_base::setColor(), psd_layer_effects_shadow_base::setFillType(), psd_layer_effects_shadow_base::setGradient(), psd_layer_effects_shadow_base::setJitter(), psd_layer_effects_shadow_base::setNoise(), psd_layer_effects_shadow_base::setOpacity(), psd_layer_effects_shadow_base::setRange(), psd_layer_effects_shadow_base::setSize(), psd_layer_effects_inner_glow::setSource(), psd_layer_effects_shadow_base::setSpread(), psd_layer_effects_shadow_base::setTechnique(), and ui.

◆ setConfig()

void InnerGlow::setConfig ( const psd_layer_effects_glow_common * innerGlow)

Definition at line 1221 of file kis_dlg_layer_style.cpp.

1222{
1223 ui.cmbCompositeOp->selectCompositeOp(KoID(config->blendMode()));
1224 ui.intOpacity->setValue(config->opacity());
1225 ui.intNoise->setValue(config->noise());
1226
1227 ui.radioColor->setChecked(config->fillType() == psd_fill_solid_color);
1228 ui.bnColor->setColor(config->color());
1229 ui.radioGradient->setChecked(config->fillType() == psd_fill_gradient);
1230
1232
1233 if (gradient) {
1234 ui.cmbGradient->setGradient(gradient);
1235 }
1236
1237 ui.cmbTechnique->setCurrentIndex((int)config->technique());
1238 ui.intChoke->setValue(config->spread());
1239 ui.intSize->setValue(config->size());
1240
1241 if (m_mode == InnerGlowMode) {
1242 const psd_layer_effects_inner_glow *iglow =
1243 dynamic_cast<const psd_layer_effects_inner_glow *>(config);
1245
1246 ui.cmbSource->setCurrentIndex(iglow->source() == psd_glow_edge);
1247 }
1248
1249 // FIXME: Curve editing
1250 //ui.cmbContour;
1251
1252 ui.chkAntiAliased->setChecked(config->antiAliased());
1253 ui.intRange->setValue(config->range());
1254 ui.intJitter->setValue(config->jitter());
1255}
static KoAbstractGradientSP styleToResource(KoAbstractGradientSP gradient)
static KisResourcesInterfaceSP instance()
Definition KoID.h:30
psd_glow_source source() const
Definition psd.h:606
KoAbstractGradientSP fetchGradientLazy(KoAbstractGradientSP gradient, KisCanvasResourceProvider *resourceProvider)
@ psd_glow_edge
Definition psd.h:131

References psd_layer_effects_shadow_base::antiAliased(), psd_layer_effects_shadow_base::blendMode(), psd_layer_effects_shadow_base::color(), fetchGradientLazy(), psd_layer_effects_shadow_base::fillType(), psd_layer_effects_shadow_base::gradient(), InnerGlowMode, KisGlobalResourcesInterface::instance(), psd_layer_effects_shadow_base::jitter(), KIS_ASSERT_RECOVER_RETURN, m_mode, m_resourceProvider, psd_layer_effects_shadow_base::noise(), psd_layer_effects_shadow_base::opacity(), psd_fill_gradient, psd_fill_solid_color, psd_glow_edge, psd_layer_effects_shadow_base::range(), psd_layer_effects_shadow_base::size(), psd_layer_effects_inner_glow::source(), psd_layer_effects_shadow_base::spread(), GradientPointerConverter::styleToResource(), psd_layer_effects_shadow_base::technique(), and ui.

Member Data Documentation

◆ m_mode

Mode InnerGlow::m_mode
private

Definition at line 155 of file kis_dlg_layer_style.h.

◆ m_resourceProvider

KisCanvasResourceProvider* InnerGlow::m_resourceProvider
private

Definition at line 156 of file kis_dlg_layer_style.h.

◆ ui

Ui::WdgInnerGlow InnerGlow::ui
private

Definition at line 154 of file kis_dlg_layer_style.h.


The documentation for this class was generated from the following files: