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, QSharedPointer< KisLocalStrokeResources > uploadResourcesInterface) const
 
void setBevelAndEmboss (const psd_layer_effects_bevel_emboss *bevelAndEmboss, KisResourcesInterfaceSP resourcesInterface)
 

Private Attributes

Contourm_contour
 
Texturem_texture
 
Ui::WdgBevelAndEmboss ui
 

Detailed Description

Definition at line 57 of file kis_dlg_layer_style.h.

Constructor & Destructor Documentation

◆ BevelAndEmboss()

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

Definition at line 822 of file kis_dlg_layer_style.cpp.

823 : QWidget(parent)
824 , m_contour(contour)
825 , m_texture(texture)
826{
827 ui.setupUi(this);
828
829 // Structure
830 ui.intDepth->setRange(0, 100);
831 KisSpinBoxI18nHelper::setText(ui.intDepth, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
832
833 ui.intSize->setRange(0, 250);
834 ui.intSize->setSuffix(i18n(" px"));
835 ui.intSize->setExponentRatio(2.0);
836
837 ui.intSoften->setRange(0, 18);
838 ui.intSoften->setSuffix(i18n(" px"));
839
840 connect(ui.cmbStyle, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
841 connect(ui.cmbTechnique, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
842 connect(ui.intDepth, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
843 connect(ui.cmbDirection, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
844 connect(ui.intSize, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
845 connect(ui.intSoften, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
846
847 // Shading
848 ui.intOpacity->setRange(0, 100);
849 KisSpinBoxI18nHelper::setText(ui.intOpacity, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
850
851 ui.intOpacity2->setRange(0, 100);
852 KisSpinBoxI18nHelper::setText(ui.intOpacity2, i18nc("{n} is the number value, % is the percent sign", "{n}%"));
853
854 ui.angleSelector->enableGlobalLight(true);
855 connect(ui.angleSelector, SIGNAL(globalAngleChanged(int)), SIGNAL(globalAngleChanged(int)));
856 connect(ui.angleSelector, SIGNAL(configChanged()), SIGNAL(configChanged()));
857
858 connect(ui.intAltitude, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
859 connect(ui.cmbContour, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
860 connect(ui.chkAntiAliased, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
861 connect(ui.cmbHighlightMode, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
862 connect(ui.bnHighlightColor, SIGNAL(changed(KoColor)), SIGNAL(configChanged()));
863 connect(ui.intOpacity, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
864 connect(ui.cmbShadowMode, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
865 connect(ui.bnShadowColor, SIGNAL(changed(KoColor)), SIGNAL(configChanged()));
866 connect(ui.intOpacity2, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
867
868 // Contour
869 m_contour->ui.intRange->setRange(1, 100);
871 i18nc("{n} is the number value, % is the percent sign", "{n}%"));
872
873 connect(m_contour->ui.cmbContour, SIGNAL(currentIndexChanged(int)), SIGNAL(configChanged()));
874 connect(m_contour->ui.chkAntiAliased, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
875 connect(m_contour->ui.intRange, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
876
877 // Texture
878 m_texture->ui.intScale->setRange(0, 100);
880 i18nc("{n} is the number value, % is the percent sign", "{n}%"));
881
882 m_texture->ui.intDepth->setRange(-1000, 1000);
884 i18nc("{n} is the number value, % is the percent sign", "{n}%"));
885
886 connect(m_texture->ui.patternChooser, SIGNAL(resourceSelected(KoResourceSP )), SIGNAL(configChanged()));
887 connect(m_texture->ui.intScale, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
888 connect(m_texture->ui.intDepth, SIGNAL(valueChanged(int)), SIGNAL(configChanged()));
889 connect(m_texture->ui.chkInvert, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
890 connect(m_texture->ui.chkLinkWithLayer, SIGNAL(toggled(bool)), SIGNAL(configChanged()));
891}
Ui::WdgBevelAndEmboss ui
void globalAngleChanged(int value)
void configChanged()
Ui::WdgContour ui
Ui::WdgTexture ui
void setText(QSpinBox *spinBox, const QStringView textTemplate)

References configChanged(), 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,
QSharedPointer< KisLocalStrokeResources > uploadResourcesInterface ) const

Definition at line 931 of file kis_dlg_layer_style.cpp.

932{
933 bevelAndEmboss->setStyle((psd_bevel_style)ui.cmbStyle->currentIndex());
934 bevelAndEmboss->setTechnique((psd_technique_type)ui.cmbTechnique->currentIndex());
935 bevelAndEmboss->setDepth(ui.intDepth->value());
936 bevelAndEmboss->setDirection((psd_direction)ui.cmbDirection->currentIndex());
937 bevelAndEmboss->setSize(ui.intSize->value());
938 bevelAndEmboss->setSoften(ui.intSoften->value());
939
940 bevelAndEmboss->setAngle(ui.angleSelector->value());
941 bevelAndEmboss->setUseGlobalLight(ui.angleSelector->useGlobalLight());
942 bevelAndEmboss->setAltitude(ui.intAltitude->value());
943 bevelAndEmboss->setGlossAntiAliased(ui.chkAntiAliased->isChecked());
944 bevelAndEmboss->setHighlightBlendMode(ui.cmbHighlightMode->selectedCompositeOp().id());
945 bevelAndEmboss->setHighlightColor(ui.bnHighlightColor->color());
946 bevelAndEmboss->setHighlightOpacity(ui.intOpacity->value());
947 bevelAndEmboss->setShadowBlendMode(ui.cmbShadowMode->selectedCompositeOp().id());
948 bevelAndEmboss->setShadowColor(ui.bnShadowColor->color());
949 bevelAndEmboss->setShadowOpacity(ui.intOpacity2->value());
950
951 // FIXME: curve editing
952 bevelAndEmboss->setAntiAliased(m_contour->ui.chkAntiAliased->isChecked());
953 bevelAndEmboss->setContourRange(m_contour->ui.intRange->value());
954
955 auto patternResource = m_texture->ui.patternChooser->currentResource(true).staticCast<KoPattern>();
956 if (patternResource) {
957 auto clonedPatternResource = patternResource->clone().dynamicCast<KoPattern>();
958 bevelAndEmboss->setTexturePattern(clonedPatternResource);
959 uploadResourcesInterface->addResource(clonedPatternResource);
960 }
961
962 bevelAndEmboss->setTextureScale(m_texture->ui.intScale->value());
963 bevelAndEmboss->setTextureDepth(m_texture->ui.intDepth->value());
964 bevelAndEmboss->setTextureInvert(m_texture->ui.chkInvert->isChecked());
965 bevelAndEmboss->setTextureAlignWithLayer(m_texture->ui.chkLinkWithLayer->isChecked());
966}
Write API docs here.
Definition KoPattern.h:21
KoResourceSP clone() const override
Definition KoPattern.cpp:74
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 KoPattern::clone(), 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,
KisResourcesInterfaceSP resourcesInterface )

Definition at line 893 of file kis_dlg_layer_style.cpp.

894{
895 ui.cmbStyle->setCurrentIndex((int)bevelAndEmboss->style());
896 ui.cmbTechnique->setCurrentIndex((int)bevelAndEmboss->technique());
897 ui.intDepth->setValue(bevelAndEmboss->depth());
898 ui.cmbDirection->setCurrentIndex((int)bevelAndEmboss->direction());
899 ui.intSize->setValue(bevelAndEmboss->size());
900 ui.intSoften->setValue(bevelAndEmboss->soften());
901
902 ui.angleSelector->setValue(bevelAndEmboss->angle());
903 ui.angleSelector->setUseGlobalLight(bevelAndEmboss->useGlobalLight());
904
905 ui.intAltitude->setValue(bevelAndEmboss->altitude());
906 // FIXME: curve editing
907 // ui.cmbContour;
908 ui.chkAntiAliased->setChecked(bevelAndEmboss->glossAntiAliased());
909 ui.cmbHighlightMode->selectCompositeOp(KoID(bevelAndEmboss->highlightBlendMode()));
910 ui.bnHighlightColor->setColor(bevelAndEmboss->highlightColor());
911 ui.intOpacity->setValue(bevelAndEmboss->highlightOpacity());
912 ui.cmbShadowMode->selectCompositeOp(KoID(bevelAndEmboss->shadowBlendMode()));
913 ui.bnShadowColor->setColor(bevelAndEmboss->shadowColor());
914 ui.intOpacity2->setValue(bevelAndEmboss->shadowOpacity());
915
916 // FIXME: curve editing
917 // m_contour->ui.cmbContour;
918 m_contour->ui.chkAntiAliased->setChecked(bevelAndEmboss->antiAliased());
919 m_contour->ui.intRange->setValue(bevelAndEmboss->contourRange());
920
921 KoPatternSP patternResource = fetchPatternLazy(bevelAndEmboss->texturePatternLink(), resourcesInterface);
922 if (patternResource) {
923 m_texture->ui.patternChooser->setCurrentPattern(patternResource);
924 }
925 m_texture->ui.intScale->setValue(bevelAndEmboss->textureScale());
926 m_texture->ui.intDepth->setValue(bevelAndEmboss->textureDepth());
927 m_texture->ui.chkInvert->setChecked(bevelAndEmboss->textureInvert());
928 m_texture->ui.chkLinkWithLayer->setChecked(bevelAndEmboss->textureAlignWithLayer());
929}
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
KoPatternSP fetchPatternLazy(KoResourceSignature signature, KisResourcesInterfaceSP resourcesInterface)
QString shadowBlendMode() const
Definition psd.h:821
psd_technique_type technique() const
Definition psd.h:730
KoResourceSignature texturePatternLink() const
Definition psd.h:875
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
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(), fetchPatternLazy(), psd_layer_effects_bevel_emboss::glossAntiAliased(), psd_layer_effects_bevel_emboss::highlightBlendMode(), psd_layer_effects_bevel_emboss::highlightColor(), psd_layer_effects_bevel_emboss::highlightOpacity(), 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::texturePatternLink(), 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 69 of file kis_dlg_layer_style.h.

◆ m_texture

Texture* BevelAndEmboss::m_texture
private

Definition at line 70 of file kis_dlg_layer_style.h.

◆ ui

Ui::WdgBevelAndEmboss BevelAndEmboss::ui
private

Definition at line 71 of file kis_dlg_layer_style.h.


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