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

#include <kis_dlg_layer_style.h>

+ Inheritance diagram for BevelAndEmboss:

Signals

void configChanged ()
 
void globalAngleChanged (int value)
 

Public Member Functions

 BevelAndEmboss (Contour *contour, Texture *texture, QWidget *parent)
 
void fetchBevelAndEmboss (psd_layer_effects_bevel_emboss *bevelAndEmboss) const
 
void setBevelAndEmboss (const psd_layer_effects_bevel_emboss *bevelAndEmboss)
 

Private Attributes

Contourm_contour
 
Texturem_texture
 
Ui::WdgBevelAndEmboss ui
 

Detailed Description

Definition at line 55 of file kis_dlg_layer_style.h.

Constructor & Destructor Documentation

◆ BevelAndEmboss()

BevelAndEmboss::BevelAndEmboss ( Contour * contour,
Texture * texture,
QWidget * parent )

Definition at line 739 of file kis_dlg_layer_style.cpp.

740 : QWidget(parent)
741 , m_contour(contour)
742 , m_texture(texture)
743{
744 ui.setupUi(this);
745
746 // Structure
747 ui.intDepth->setRange(0, 100);
748 KisSpinBoxI18nHelper::setText(ui.intDepth, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
749
750 ui.intSize->setRange(0, 250);
751 ui.intSize->setSuffix(i18n(" px"));
752 ui.intSize->setExponentRatio(2.0);
753
754 ui.intSoften->setRange(0, 18);
755 ui.intSoften->setSuffix(i18n(" px"));
756
757 connect(ui.cmbStyle, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
758 connect(ui.cmbTechnique, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
759 connect(ui.intDepth, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
760 connect(ui.cmbDirection, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
761 connect(ui.intSize, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
762 connect(ui.intSoften, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
763
764 // Shading
765 ui.intOpacity->setRange(0, 100);
766 KisSpinBoxI18nHelper::setText(ui.intOpacity, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
767
768 ui.intOpacity2->setRange(0, 100);
769 KisSpinBoxI18nHelper::setText(ui.intOpacity2, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
770
771 ui.angleSelector->enableGlobalLight(true);
772 connect(ui.angleSelector, SIGNAL(globalAngleChanged(int)), SIGNAL(globalAngleChanged(int)));
773 connect(ui.angleSelector, SIGNAL(configChanged()), SIGNAL(configChanged()));
774
775 connect(ui.intAltitude, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
776 connect(ui.cmbContour, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
777 connect(ui.chkAntiAliased, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
778 connect(ui.cmbHighlightMode, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
779 connect(ui.bnHighlightColor, SIGNAL(changed(KoColor)), SIGNAL(configChanged()));
780 connect(ui.intOpacity, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
781 connect(ui.cmbShadowMode, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
782 connect(ui.bnShadowColor, SIGNAL(changed(KoColor)), SIGNAL(configChanged()));
783 connect(ui.intOpacity2, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
784
785 // Contour
786 m_contour->ui.intRange->setRange(1, 100);
788 i18nc("{n} is the number value, % is the percent sign", "{n}%"));
789
790 connect(m_contour->ui.cmbContour, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
791 connect(m_contour->ui.chkAntiAliased, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
792 connect(m_contour->ui.intRange, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
793
794 // Texture
795 m_texture->ui.intScale->setRange(0, 100);
797 i18nc("{n} is the number value, % is the percent sign", "{n}%"));
798
799 m_texture->ui.intDepth->setRange(-1000, 1000);
801 i18nc("{n} is the number value, % is the percent sign", "{n}%"));
802
803 connect(m_texture->ui.patternChooser, SIGNAL(resourceSelected(KoResourceSP )), SIGNAL(configChanged()));
804 connect(m_texture->ui.intScale, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
805 connect(m_texture->ui.intDepth, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
806 connect(m_texture->ui.chkInvert, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
807 connect(m_texture->ui.chkLinkWithLayer, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
808}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
Ui::WdgBevelAndEmboss ui
void globalAngleChanged(int value)
void configChanged()
Ui::WdgContour ui
Ui::WdgTexture ui
void setText(QSpinBox *spinBox, const QStringView textTemplate)

References configChanged(), connect(), globalAngleChanged(), m_contour, m_texture, KisSpinBoxI18nHelper::setText(), Contour::ui, Texture::ui, and ui.

Member Function Documentation

◆ configChanged

void BevelAndEmboss::configChanged ( )
signal

◆ fetchBevelAndEmboss()

void BevelAndEmboss::fetchBevelAndEmboss ( psd_layer_effects_bevel_emboss * bevelAndEmboss) const

Definition at line 845 of file kis_dlg_layer_style.cpp.

846{
847 bevelAndEmboss->setStyle((psd_bevel_style)ui.cmbStyle->currentIndex());
848 bevelAndEmboss->setTechnique((psd_technique_type)ui.cmbTechnique->currentIndex());
849 bevelAndEmboss->setDepth(ui.intDepth->value());
850 bevelAndEmboss->setDirection((psd_direction)ui.cmbDirection->currentIndex());
851 bevelAndEmboss->setSize(ui.intSize->value());
852 bevelAndEmboss->setSoften(ui.intSoften->value());
853
854 bevelAndEmboss->setAngle(ui.angleSelector->value());
855 bevelAndEmboss->setUseGlobalLight(ui.angleSelector->useGlobalLight());
856 bevelAndEmboss->setAltitude(ui.intAltitude->value());
857 bevelAndEmboss->setGlossAntiAliased(ui.chkAntiAliased->isChecked());
858 bevelAndEmboss->setHighlightBlendMode(ui.cmbHighlightMode->selectedCompositeOp().id());
859 bevelAndEmboss->setHighlightColor(ui.bnHighlightColor->color());
860 bevelAndEmboss->setHighlightOpacity(ui.intOpacity->value());
861 bevelAndEmboss->setShadowBlendMode(ui.cmbShadowMode->selectedCompositeOp().id());
862 bevelAndEmboss->setShadowColor(ui.bnShadowColor->color());
863 bevelAndEmboss->setShadowOpacity(ui.intOpacity2->value());
864
865 // FIXME: curve editing
866 bevelAndEmboss->setAntiAliased(m_contour->ui.chkAntiAliased->isChecked());
867 bevelAndEmboss->setContourRange(m_contour->ui.intRange->value());
868
869 bevelAndEmboss->setTexturePattern(m_texture->ui.patternChooser->currentResource(true).staticCast<KoPattern>());
870 bevelAndEmboss->setTextureScale(m_texture->ui.intScale->value());
871 bevelAndEmboss->setTextureDepth(m_texture->ui.intDepth->value());
872 bevelAndEmboss->setTextureInvert(m_texture->ui.chkInvert->isChecked());
873 bevelAndEmboss->setTextureAlignWithLayer(m_texture->ui.chkLinkWithLayer->isChecked());
874}
Write API docs here.
Definition KoPattern.h:21
void setUseGlobalLight(bool value)
Definition psd.h:397
void setAntiAliased(bool value)
Definition psd.h:422
void setAngle(qint32 value)
Definition psd.h:392
void setSize(qint32 value)
Definition psd.h:412
psd_direction
Definition psd.h:142
psd_technique_type
Definition psd.h:115
psd_bevel_style
Definition psd.h:134
void setTechnique(psd_technique_type value)
Definition psd.h:734
void setStyle(psd_bevel_style value)
Definition psd.h:725
void setTextureDepth(int value)
Definition psd.h:907
void setShadowColor(KoColor value)
Definition psd.h:834
void setTextureScale(int value)
Definition psd.h:898
void setDirection(psd_direction value)
Definition psd.h:752
void setTexturePattern(KoPatternSP value)
Definition psd.h:885
void setHighlightBlendMode(QString value)
Definition psd.h:798
void setAltitude(int value)
Definition psd.h:770
void setHighlightColor(KoColor value)
Definition psd.h:807
void setContourRange(int value)
Definition psd.h:861
void setShadowBlendMode(QString value)
Definition psd.h:825
void setDepth(int value)
Definition psd.h:743
void setGlossAntiAliased(bool value)
Definition psd.h:789
void setTextureAlignWithLayer(bool value)
Definition psd.h:925
void setShadowOpacity(qint32 value)
Definition psd.h:843
void setSoften(int value)
Definition psd.h:761
void setTextureInvert(bool value)
Definition psd.h:916
void setHighlightOpacity(qint32 value)
Definition psd.h:816

References m_contour, m_texture, psd_layer_effects_bevel_emboss::setAltitude(), psd_layer_effects_shadow_base::setAngle(), psd_layer_effects_shadow_base::setAntiAliased(), psd_layer_effects_bevel_emboss::setContourRange(), psd_layer_effects_bevel_emboss::setDepth(), psd_layer_effects_bevel_emboss::setDirection(), psd_layer_effects_bevel_emboss::setGlossAntiAliased(), psd_layer_effects_bevel_emboss::setHighlightBlendMode(), psd_layer_effects_bevel_emboss::setHighlightColor(), psd_layer_effects_bevel_emboss::setHighlightOpacity(), psd_layer_effects_bevel_emboss::setShadowBlendMode(), psd_layer_effects_bevel_emboss::setShadowColor(), psd_layer_effects_bevel_emboss::setShadowOpacity(), psd_layer_effects_shadow_base::setSize(), psd_layer_effects_bevel_emboss::setSoften(), psd_layer_effects_bevel_emboss::setStyle(), psd_layer_effects_bevel_emboss::setTechnique(), psd_layer_effects_bevel_emboss::setTextureAlignWithLayer(), psd_layer_effects_bevel_emboss::setTextureDepth(), psd_layer_effects_bevel_emboss::setTextureInvert(), psd_layer_effects_bevel_emboss::setTexturePattern(), psd_layer_effects_bevel_emboss::setTextureScale(), psd_layer_effects_shadow_base::setUseGlobalLight(), Contour::ui, Texture::ui, and ui.

◆ globalAngleChanged

void BevelAndEmboss::globalAngleChanged ( int value)
signal

◆ setBevelAndEmboss()

void BevelAndEmboss::setBevelAndEmboss ( const psd_layer_effects_bevel_emboss * bevelAndEmboss)

Definition at line 810 of file kis_dlg_layer_style.cpp.

811{
812 ui.cmbStyle->setCurrentIndex((int)bevelAndEmboss->style());
813 ui.cmbTechnique->setCurrentIndex((int)bevelAndEmboss->technique());
814 ui.intDepth->setValue(bevelAndEmboss->depth());
815 ui.cmbDirection->setCurrentIndex((int)bevelAndEmboss->direction());
816 ui.intSize->setValue(bevelAndEmboss->size());
817 ui.intSoften->setValue(bevelAndEmboss->soften());
818
819 ui.angleSelector->setValue(bevelAndEmboss->angle());
820 ui.angleSelector->setUseGlobalLight(bevelAndEmboss->useGlobalLight());
821
822 ui.intAltitude->setValue(bevelAndEmboss->altitude());
823 // FIXME: curve editing
824 // ui.cmbContour;
825 ui.chkAntiAliased->setChecked(bevelAndEmboss->glossAntiAliased());
826 ui.cmbHighlightMode->selectCompositeOp(KoID(bevelAndEmboss->highlightBlendMode()));
827 ui.bnHighlightColor->setColor(bevelAndEmboss->highlightColor());
828 ui.intOpacity->setValue(bevelAndEmboss->highlightOpacity());
829 ui.cmbShadowMode->selectCompositeOp(KoID(bevelAndEmboss->shadowBlendMode()));
830 ui.bnShadowColor->setColor(bevelAndEmboss->shadowColor());
831 ui.intOpacity2->setValue(bevelAndEmboss->shadowOpacity());
832
833 // FIXME: curve editing
834 // m_contour->ui.cmbContour;
835 m_contour->ui.chkAntiAliased->setChecked(bevelAndEmboss->antiAliased());
836 m_contour->ui.intRange->setValue(bevelAndEmboss->contourRange());
837
838 m_texture->ui.patternChooser->setCurrentPattern(bevelAndEmboss->texturePattern(KisGlobalResourcesInterface::instance()));
839 m_texture->ui.intScale->setValue(bevelAndEmboss->textureScale());
840 m_texture->ui.intDepth->setValue(bevelAndEmboss->textureDepth());
841 m_texture->ui.chkInvert->setChecked(bevelAndEmboss->textureInvert());
842 m_texture->ui.chkLinkWithLayer->setChecked(bevelAndEmboss->textureAlignWithLayer());
843}
static KisResourcesInterfaceSP instance()
Definition KoID.h:30
bool useGlobalLight() const
Definition psd.h:291
qint32 angle() const
Definition psd.h:286
qint32 size() const
Definition psd.h:306
bool antiAliased() const
Definition psd.h:316
QString shadowBlendMode() const
Definition psd.h:821
psd_technique_type technique() const
Definition psd.h:730
qint32 highlightOpacity() const
Definition psd.h:812
psd_bevel_style style() const
Definition psd.h:721
psd_direction direction() const
Definition psd.h:748
bool glossAntiAliased() const
Definition psd.h:785
KoPatternSP texturePattern(KisResourcesInterfaceSP resourcesInterface) const
Definition psd.h:879
bool textureInvert() const
Definition psd.h:912
qint32 shadowOpacity() const
Definition psd.h:839
bool textureAlignWithLayer() const
Definition psd.h:921
QString highlightBlendMode() const
Definition psd.h:794
KoColor shadowColor() const
Definition psd.h:830
KoColor highlightColor() const
Definition psd.h:803

References psd_layer_effects_bevel_emboss::altitude(), psd_layer_effects_shadow_base::angle(), psd_layer_effects_shadow_base::antiAliased(), psd_layer_effects_bevel_emboss::contourRange(), psd_layer_effects_bevel_emboss::depth(), psd_layer_effects_bevel_emboss::direction(), psd_layer_effects_bevel_emboss::glossAntiAliased(), psd_layer_effects_bevel_emboss::highlightBlendMode(), psd_layer_effects_bevel_emboss::highlightColor(), psd_layer_effects_bevel_emboss::highlightOpacity(), KisGlobalResourcesInterface::instance(), m_contour, m_texture, psd_layer_effects_bevel_emboss::shadowBlendMode(), psd_layer_effects_bevel_emboss::shadowColor(), psd_layer_effects_bevel_emboss::shadowOpacity(), psd_layer_effects_shadow_base::size(), psd_layer_effects_bevel_emboss::soften(), psd_layer_effects_bevel_emboss::style(), psd_layer_effects_bevel_emboss::technique(), psd_layer_effects_bevel_emboss::textureAlignWithLayer(), psd_layer_effects_bevel_emboss::textureDepth(), psd_layer_effects_bevel_emboss::textureInvert(), psd_layer_effects_bevel_emboss::texturePattern(), psd_layer_effects_bevel_emboss::textureScale(), Contour::ui, Texture::ui, ui, and psd_layer_effects_shadow_base::useGlobalLight().

Member Data Documentation

◆ m_contour

Contour* BevelAndEmboss::m_contour
private

Definition at line 67 of file kis_dlg_layer_style.h.

◆ m_texture

Texture* BevelAndEmboss::m_texture
private

Definition at line 68 of file kis_dlg_layer_style.h.

◆ ui

Ui::WdgBevelAndEmboss BevelAndEmboss::ui
private

Definition at line 69 of file kis_dlg_layer_style.h.


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