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

#include <kis_dlg_layer_style.h>

+ Inheritance diagram for Stroke:

Signals

void configChanged ()
 

Public Member Functions

void fetchStroke (psd_layer_effects_stroke *stroke) const
 
void setStroke (const psd_layer_effects_stroke *stroke)
 
 Stroke (KisCanvasResourceProvider *resourceProvider, QWidget *parent)
 

Private Attributes

KisCanvasResourceProviderm_resourceProvider
 
Ui::WdgStroke ui
 

Detailed Description

Definition at line 187 of file kis_dlg_layer_style.h.

Constructor & Destructor Documentation

◆ Stroke()

Stroke::Stroke ( KisCanvasResourceProvider * resourceProvider,
QWidget * parent )

Definition at line 1412 of file kis_dlg_layer_style.cpp.

1413 : QWidget(parent),
1414 m_resourceProvider(resourceProvider)
1415{
1416 ui.setupUi(this);
1417
1418 ui.intSize->setRange(0, 250);
1419 ui.intSize->setSuffix(i18n(" px"));
1420 ui.intSize->setExponentRatio(2.0);
1421
1422 ui.intOpacity->setRange(0, 100);
1423 KisSpinBoxI18nHelper::setText(ui.intOpacity, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
1424
1425 ui.intScale->setRange(0, 100);
1426 KisSpinBoxI18nHelper::setText(ui.intScale, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
1427
1428 ui.intScale_2->setRange(0, 100);
1429 KisSpinBoxI18nHelper::setText(ui.intScale_2, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
1430
1431 ui.cmbGradient->setCanvasResourcesInterface(resourceProvider->resourceManager()->canvasResourcesInterface());
1432
1433 connect(ui.cmbFillType, SIGNAL(currentIndexChanged(int)), ui.fillStack, SLOT(setCurrentIndex(int)));
1434
1435 connect(ui.intSize, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1436 connect(ui.cmbPosition, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
1437 connect(ui.cmbCompositeOp, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
1438 connect(ui.intOpacity, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1439
1440 connect(ui.cmbFillType, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
1441
1442 connect(ui.bnColor, SIGNAL(changed(KoColor)), SIGNAL(configChanged()));
1443
1444 connect(ui.cmbGradient, SIGNAL(gradientChanged(KoAbstractGradientSP)), SIGNAL(configChanged()));
1445 connect(ui.chkReverse, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
1446 connect(ui.cmbStyle, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
1447 connect(ui.chkAlignWithLayer, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
1448 connect(ui.intScale, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1449
1450 connect(ui.patternChooser, SIGNAL(resourceSelected(KoResourceSP )), SIGNAL(configChanged()));
1451 connect(ui.angleSelector, SIGNAL(configChanged()), SIGNAL(configChanged()));
1452
1453 connect(ui.chkLinkWithLayer, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
1454 connect(ui.intScale_2, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
1455
1456 // cold initialization
1457 ui.fillStack->setCurrentIndex(ui.cmbFillType->currentIndex());
1458}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KoCanvasResourceProvider * resourceManager()
KoCanvasResourcesInterfaceSP canvasResourcesInterface() const
void configChanged()
KisCanvasResourceProvider * m_resourceProvider
Ui::WdgStroke ui
void setText(QSpinBox *spinBox, const QStringView textTemplate)

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

Member Function Documentation

◆ configChanged

void Stroke::configChanged ( )
signal

◆ fetchStroke()

void Stroke::fetchStroke ( psd_layer_effects_stroke * stroke) const

Definition at line 1488 of file kis_dlg_layer_style.cpp.

1489{
1490 stroke->setSize(ui.intSize->value());
1491 stroke->setPosition((psd_stroke_position)ui.cmbPosition->currentIndex());
1492 stroke->setBlendMode(ui.cmbCompositeOp->selectedCompositeOp().id());
1493 stroke->setOpacity(ui.intOpacity->value());
1494
1495 psd_fill_type fillType = (psd_fill_type)ui.cmbFillType->currentIndex();
1496 stroke->setFillType(fillType);
1497
1498 stroke->setColor(ui.bnColor->color());
1499
1500 KoAbstractGradientSP gradient = ui.cmbGradient->gradient(true);
1501 if (gradient) {
1503 }
1504
1505 stroke->setReverse(ui.chkReverse->isChecked());
1506 stroke->setStyle((psd_gradient_style)ui.cmbStyle->currentIndex());
1507 if (fillType == psd_fill_gradient) {
1508 // there is only one boolean value, and it's shared with pattern's "link with layer"
1509 stroke->setAlignWithLayer(ui.chkAlignWithLayer->isChecked());
1510 }
1511 stroke->setAngle(ui.angleSelector->value());
1512 stroke->setScale(ui.intScale->value());
1513
1514 stroke->setPattern(ui.patternChooser->currentResource(true).staticCast<KoPattern>());
1515 if (fillType == psd_fill_pattern) {
1516 // there is only one boolean value, and it's shared with gradient's "align with layer"
1517 stroke->setAlignWithLayer(ui.chkLinkWithLayer->isChecked());
1518 }
1519 stroke->setScale(ui.intScale->value());
1520}
static KoAbstractGradientSP resourceToStyle(KoAbstractGradientSP gradient)
Write API docs here.
Definition KoPattern.h:21
void setGradient(KoAbstractGradientSP value)
Definition psd.h:467
void setColor(KoColor value)
Definition psd.h:377
void setFillType(psd_fill_type value)
Definition psd.h:447
void setAngle(qint32 value)
Definition psd.h:392
void setBlendMode(QString value)
Definition psd.h:372
void setOpacity(qint32 value)
Definition psd.h:387
void setSize(qint32 value)
Definition psd.h:412
psd_gradient_style
Definition psd.h:101
psd_fill_type
Definition psd.h:123
@ psd_fill_gradient
Definition psd.h:125
@ psd_fill_pattern
Definition psd.h:126
psd_stroke_position
Definition psd.h:121
void setReverse(bool value)
Definition psd.h:1094
void setAlignWithLayer(bool value)
Definition psd.h:1084
void setStyle(psd_gradient_style value)
Definition psd.h:1099
void setScale(int value)
Definition psd.h:1079
void setPattern(KoPatternSP value)
Definition psd.h:1115
void setPosition(psd_stroke_position value)
Definition psd.h:1284

References psd_fill_gradient, psd_fill_pattern, GradientPointerConverter::resourceToStyle(), psd_layer_effects_overlay_base::setAlignWithLayer(), psd_layer_effects_shadow_base::setAngle(), 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::setOpacity(), psd_layer_effects_overlay_base::setPattern(), psd_layer_effects_stroke::setPosition(), psd_layer_effects_overlay_base::setReverse(), psd_layer_effects_overlay_base::setScale(), psd_layer_effects_shadow_base::setSize(), psd_layer_effects_overlay_base::setStyle(), and ui.

◆ setStroke()

void Stroke::setStroke ( const psd_layer_effects_stroke * stroke)

Definition at line 1460 of file kis_dlg_layer_style.cpp.

1461{
1462 ui.intSize->setValue(stroke->size());
1463 ui.cmbPosition->setCurrentIndex((int)stroke->position());
1464 ui.cmbCompositeOp->selectCompositeOp(KoID(stroke->blendMode()));
1465 ui.intOpacity->setValue(stroke->opacity());
1466
1467 ui.cmbFillType->setCurrentIndex((int)stroke->fillType());
1468 ui.bnColor->setColor(stroke->color());
1469
1471
1472 if (gradient) {
1473 ui.cmbGradient->setGradient(gradient);
1474 }
1475
1476 ui.chkReverse->setChecked(stroke->antiAliased());
1477 ui.cmbStyle->setCurrentIndex((int)stroke->style());
1478 ui.chkAlignWithLayer->setChecked(stroke->alignWithLayer());
1479 ui.chkAlignWithLayer->setCheckable(true);
1480 ui.angleSelector->setValue(stroke->angle());
1481 ui.intScale->setValue(stroke->scale());
1482
1483 ui.patternChooser->setCurrentPattern(stroke->pattern(KisGlobalResourcesInterface::instance()));
1484 ui.chkLinkWithLayer->setChecked(stroke->alignWithLayer());
1485 ui.intScale_2->setValue(stroke->scale());
1486}
static KoAbstractGradientSP styleToResource(KoAbstractGradientSP gradient)
static KisResourcesInterfaceSP instance()
Definition KoID.h:30
qint32 opacity() const
Definition psd.h:281
QString blendMode() const
Definition psd.h:266
KoColor color() const
Definition psd.h:271
qint32 angle() const
Definition psd.h:286
qint32 size() const
Definition psd.h:306
KoAbstractGradientSP gradient(KisResourcesInterfaceSP resourcesInterface) const
Definition psd.h:365
psd_fill_type fillType() const
Definition psd.h:341
bool antiAliased() const
Definition psd.h:316
KoAbstractGradientSP fetchGradientLazy(KoAbstractGradientSP gradient, KisCanvasResourceProvider *resourceProvider)
KoPatternSP pattern(KisResourcesInterfaceSP resourcesInterface) const
Definition psd.h:1061
bool alignWithLayer() const
Definition psd.h:1027
psd_gradient_style style() const
Definition psd.h:1042
psd_stroke_position position() const
Definition psd.h:1280

References psd_layer_effects_overlay_base::alignWithLayer(), psd_layer_effects_shadow_base::angle(), 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(), KisGlobalResourcesInterface::instance(), m_resourceProvider, psd_layer_effects_shadow_base::opacity(), psd_layer_effects_overlay_base::pattern(), psd_layer_effects_stroke::position(), psd_layer_effects_overlay_base::scale(), psd_layer_effects_shadow_base::size(), psd_layer_effects_overlay_base::style(), GradientPointerConverter::styleToResource(), and ui.

Member Data Documentation

◆ m_resourceProvider

KisCanvasResourceProvider* Stroke::m_resourceProvider
private

Definition at line 199 of file kis_dlg_layer_style.h.

◆ ui

Ui::WdgStroke Stroke::ui
private

Definition at line 198 of file kis_dlg_layer_style.h.


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