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

The KisPSDLayerStyle class implements loading, saving and applying the PSD layer effects. More...

#include <kis_psd_layer_style.h>

+ Inheritance diagram for KisPSDLayerStyle:

Public Member Functions

psd_layer_effects_bevel_embossbevelAndEmboss ()
 
const psd_layer_effects_bevel_embossbevelAndEmboss () const
 
void clear ()
 
void clearSideLoadedResources () override
 
KoResourceSP clone () const override
 
KisPSDLayerStyleSP cloneWithResourcesSnapshot (KisResourcesInterfaceSP globalResourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface) const
 
psd_layer_effects_color_overlaycolorOverlay ()
 
const psd_layer_effects_color_overlaycolorOverlay () const
 
psd_layer_effects_contextcontext ()
 
const psd_layer_effects_contextcontext () const
 
psd_layer_effects_drop_shadowdropShadow ()
 
const psd_layer_effects_drop_shadowdropShadow () const
 
psd_layer_effects_gradient_overlaygradientOverlay ()
 
const psd_layer_effects_gradient_overlaygradientOverlay () const
 
bool hasLocalResourcesSnapshot () const
 
psd_layer_effects_inner_glowinnerGlow ()
 
const psd_layer_effects_inner_glowinnerGlow () const
 
psd_layer_effects_inner_shadowinnerShadow ()
 
const psd_layer_effects_inner_shadowinnerShadow () const
 
bool isEmpty () const
 
bool isEnabled () const
 
bool isSerializable () const override
 
 KisPSDLayerStyle (const KisPSDLayerStyle &rhs)
 
 KisPSDLayerStyle (const QString &filename="", KisResourcesInterfaceSP resourcesInterface=KisResourcesInterfaceSP())
 
QList< KoResourceLoadResultlinkedResources (KisResourcesInterfaceSP globalResourcesInterface) const override
 
bool loadFromDevice (QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override
 
QString name () const override
 
KisPSDLayerStyle operator= (const KisPSDLayerStyle &rhs)=delete
 
Private operator= (const Private &rhs)
 
psd_layer_effects_outer_glowouterGlow ()
 
const psd_layer_effects_outer_glowouterGlow () const
 
psd_layer_effects_pattern_overlaypatternOverlay ()
 
const psd_layer_effects_pattern_overlaypatternOverlay () const
 
 Private (const Private &rhs)
 
 Private (KisResourcesInterfaceSP _resourcesInterface)
 
QString psdUuid () const
 
QList< int > requiredCanvasResources () const override
 
KisResourcesInterfaceSP resourcesInterface () const
 
QPair< QString, QString > resourceType () const override
 
psd_layer_effects_satinsatin ()
 
const psd_layer_effects_satinsatin () const
 
bool saveToDevice (QIODevice *dev) const override
 
void setEnabled (bool value)
 
void setName (const QString &value)
 
void setPsdUuid (const QString &value)
 
void setResourcesInterface (KisResourcesInterfaceSP resourcesInterface)
 
void setUuid (const QUuid &value)
 
QList< KoResourceLoadResultsideLoadedResources (KisResourcesInterfaceSP globalResourcesInterface) const override
 
psd_layer_effects_strokestroke ()
 
const psd_layer_effects_strokestroke () const
 
QUuid uuid () const
 
virtual ~KisPSDLayerStyle ()
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 
- Public Member Functions inherited from KoResource
bool active () const
 
void addMetaData (QString key, QVariant value)
 store the given key, value pair in the resource
 
virtual QString defaultFileExtension () const
 
virtual QList< KoResourceLoadResultembeddedResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
QString filename () const
 
QImage image () const
 
bool isDirty () const
 
virtual bool isEphemeral () const
 
 KoResource ()
 
 KoResource (const KoResource &rhs)
 
 KoResource (const QString &filename)
 
bool load (KisResourcesInterfaceSP resourcesInterface)
 
QString md5Sum (bool generateIfEmpty=true) const
 
QMap< QString, QVariant > metadata () const
 get a map with all the metadata
 
KoResourceoperator= (const KoResource &rhs)=delete
 
bool permanent () const
 
QList< KoResourceLoadResultrequiredResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
int resourceId () const
 
bool save ()
 
void setActive (bool active)
 
void setDirty (bool value)
 Mark the preset as modified but not saved.
 
void setFilename (const QString &filename)
 
void setImage (const QImage &image)
 
void setMD5Sum (const QString &md5sum)
 Set the md5sum of this resource. It must be in hex-encoded string format.
 
void setName (const QString &name)
 
void setPermanent (bool permanent)
 
void setResourceId (int id)
 
void setStorageLocation (const QString &location)
 
void setValid (bool valid)
 
void setVersion (int version)
 
KoResourceSignature signature () const
 
QString storageLocation () const
 
QList< KoResourceLoadResulttakeSideLoadedResources (KisResourcesInterfaceSP globalResourcesInterface)
 
virtual QImage thumbnail () const
 thumbnail the thumbnail image to use in resource selectors
 
virtual QString thumbnailPath () const
 thumbnailPath returns the path to a separate thumbnail image, outside the actual resource file itself. If the path is relative, it is supposed start in the same location as the resource itself. If it's absolute, that is, it starts with "/", it is from the root of the storage.
 
virtual void updateThumbnail ()
 updateThumbnail updates the thumbnail for this resource. Reimplement if your thumbnail is something else than the image set with setImage.
 
bool valid () const
 
int version () const
 Get the version of the resource.
 
virtual ~KoResource ()
 

Public Attributes

psd_layer_effects_bevel_emboss bevel_emboss
 
psd_layer_effects_color_overlay color_overlay
 
psd_layer_effects_context context
 
psd_layer_effects_drop_shadow drop_shadow
 
bool effectEnabled
 
psd_layer_effects_gradient_overlay gradient_overlay
 
psd_layer_effects_inner_glow inner_glow
 
psd_layer_effects_inner_shadow inner_shadow
 
QString name
 
psd_layer_effects_outer_glow outer_glow
 
psd_layer_effects_pattern_overlay pattern_overlay
 
KisResourcesInterfaceSP resourcesInterface
 
psd_layer_effects_satin satin
 
QList< KoEmbeddedResourcesideLoadedResources
 
psd_layer_effects_stroke stroke
 
QUuid uuid
 
quint16 version
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 
- Public Attributes inherited from KoResource
bool active {true}
 
QString filename
 
QImage image
 
QString md5sum
 
QMap< QString, QVariant > metadata
 
bool modified {false}
 
QString name
 
bool permanent {false}
 
int resourceId {-1}
 
QString storageLocation
 
bool valid {false}
 
int version {-1}
 

Private Member Functions

void setSideLoadedResources (const QList< KoEmbeddedResource > &value)
 

Private Attributes

Private *const d
 

Friends

class KisAslLayerStyleSerializer
 
class KisDlgLayerStyle
 

Detailed Description

The KisPSDLayerStyle class implements loading, saving and applying the PSD layer effects.

See https://www.tonton-pixel.com/Photoshop%20Additional%20File%20Formats/styles-file-format.html

Definition at line 26 of file kis_psd_layer_style.cpp.

Constructor & Destructor Documentation

◆ KisPSDLayerStyle() [1/2]

KisPSDLayerStyle::KisPSDLayerStyle ( const QString & filename = "",
KisResourcesInterfaceSP resourcesInterface = KisResourcesInterfaceSP() )

Definition at line 102 of file kis_psd_layer_style.cpp.

105{
106 d->name = i18n("Unnamed");
107 d->version = 7;
108}
KisResourcesInterfaceSP resourcesInterface
QString filename

References d.

◆ ~KisPSDLayerStyle()

KisPSDLayerStyle::~KisPSDLayerStyle ( )
virtual

Definition at line 110 of file kis_psd_layer_style.cpp.

111{
112 delete d;
113}

References d.

◆ KisPSDLayerStyle() [2/2]

KisPSDLayerStyle::KisPSDLayerStyle ( const KisPSDLayerStyle & rhs)

Definition at line 115 of file kis_psd_layer_style.cpp.

116 : KoResource(rhs)
117 , d(new Private(*rhs.d))
118{
119 setValid(valid());
120}
void setValid(bool valid)

References KoResource::setValid(), and KoResource::valid.

Member Function Documentation

◆ bevelAndEmboss() [1/2]

psd_layer_effects_bevel_emboss * KisPSDLayerStyle::bevelAndEmboss ( )

Definition at line 315 of file kis_psd_layer_style.cpp.

316{
317 return &d->bevel_emboss;
318}

References d.

◆ bevelAndEmboss() [2/2]

const psd_layer_effects_bevel_emboss * KisPSDLayerStyle::bevelAndEmboss ( ) const

Definition at line 260 of file kis_psd_layer_style.cpp.

261{
262 return &d->bevel_emboss;
263}

References d.

◆ clear()

void KisPSDLayerStyle::clear ( )

Definition at line 155 of file kis_psd_layer_style.cpp.

156{
157 *d = Private(d->resourcesInterface);
158}

References d.

◆ clearSideLoadedResources()

void KisPSDLayerStyle::clearSideLoadedResources ( )
overridevirtual

Clears memory under side-loaded resources. The method is called by KisResourceLocator after the resources have been fetched and added to the global store.

Reimplemented from KoResource.

Definition at line 415 of file kis_psd_layer_style.cpp.

416{
417 d->sideLoadedResources.clear();
418}

References d.

◆ clone()

KoResourceSP KisPSDLayerStyle::clone ( ) const
overridevirtual

Implements KoResource.

Definition at line 132 of file kis_psd_layer_style.cpp.

133{
134 return toQShared(new KisPSDLayerStyle(*this)).dynamicCast<KoResource>();
135}
QSharedPointer< T > toQShared(T *ptr)
KisPSDLayerStyle(const QString &filename="", KisResourcesInterfaceSP resourcesInterface=KisResourcesInterfaceSP())

References KisPSDLayerStyle(), and toQShared().

◆ cloneWithResourcesSnapshot()

KisPSDLayerStyleSP KisPSDLayerStyle::cloneWithResourcesSnapshot ( KisResourcesInterfaceSP globalResourcesInterface,
KoCanvasResourcesInterfaceSP canvasResourcesInterface ) const
See also
KisRequiredResourcesOperators::cloneWithResourcesSnapshot

Passing null into cloneWithResourcesSnapshot() means that we expect all the canvas resources to be backed into the style. That is exactly what we expect when loading the styles saved in the layers.

Since we haven't cloned the required resources when putting them into the local storage (which is rather questionable), we need to clone the gradients explicitly before modification.

Definition at line 335 of file kis_psd_layer_style.cpp.

336{
337 KisPSDLayerStyleSP style = KisRequiredResourcesOperators::cloneWithResourcesSnapshot<KisPSDLayerStyleSP>(this, globalResourcesInterface);
338
345 if (!requiredCanvasResources().isEmpty() && !canvasResourcesInterface) {
346 qWarning() << "KisPSDLayerStyle::cloneWithResourcesSnapshot: layer style"
347 << name() << "is expected to have all the canvas resources"
348 << "backed, but still depends on something";
349 qWarning() << ppVar(requiredCanvasResources());
350 }
351
352 if (canvasResourcesInterface) {
353
354 QSharedPointer<KisLocalStrokeResources> localResourcesSnapshot =
355 style->resourcesInterface().dynamicCast<KisLocalStrokeResources>();
356 KIS_ASSERT_RECOVER_RETURN_VALUE(localResourcesSnapshot, style);
357
358 auto bakeGradient = [canvasResourcesInterface, localResourcesSnapshot] (KoAbstractGradientSP gradient) {
359 if (gradient && !gradient->requiredCanvasResources().isEmpty()) {
360
367 KoAbstractGradientSP clonedGradient =
368 gradient->cloneAndBakeVariableColors(canvasResourcesInterface);
369
370 localResourcesSnapshot->removeResource(gradient);
371 localResourcesSnapshot->addResource(clonedGradient);
372 }
373 };
374
375 if (style->gradientOverlay()->effectEnabled()) {
376 bakeGradient(style->gradientOverlay()->gradient(localResourcesSnapshot));
377 }
378
379 if (style->innerGlow()->effectEnabled() && style->innerGlow()->fillType() == psd_fill_gradient) {
380 bakeGradient(style->innerGlow()->gradient(localResourcesSnapshot));
381 }
382
383 if (style->outerGlow()->effectEnabled() && style->outerGlow()->fillType() == psd_fill_gradient) {
384 bakeGradient(style->outerGlow()->gradient(localResourcesSnapshot));
385 }
386
387 if (style->stroke()->effectEnabled() && style->stroke()->fillType() == psd_fill_gradient) {
388 bakeGradient(style->stroke()->gradient(localResourcesSnapshot));
389 }
390 }
391
392 return style;
393}
a KisResourcesInterface-like resources storage for preloaded resources
#define KIS_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:85
#define ppVar(var)
Definition kis_debug.h:155
@ psd_fill_gradient
Definition psd.h:125
QList< int > requiredCanvasResources() const override

References isEmpty(), KIS_ASSERT_RECOVER_RETURN_VALUE, name, ppVar, psd_fill_gradient, and requiredCanvasResources().

◆ colorOverlay() [1/2]

psd_layer_effects_color_overlay * KisPSDLayerStyle::colorOverlay ( )

Definition at line 295 of file kis_psd_layer_style.cpp.

296{
297 return &d->color_overlay;
298}

References d.

◆ colorOverlay() [2/2]

const psd_layer_effects_color_overlay * KisPSDLayerStyle::colorOverlay ( ) const

Definition at line 240 of file kis_psd_layer_style.cpp.

241{
242 return &d->color_overlay;
243}

References d.

◆ context() [1/2]

psd_layer_effects_context * KisPSDLayerStyle::context ( )

◆ context() [2/2]

const psd_layer_effects_context * KisPSDLayerStyle::context ( ) const

◆ dropShadow() [1/2]

psd_layer_effects_drop_shadow * KisPSDLayerStyle::dropShadow ( )

Definition at line 270 of file kis_psd_layer_style.cpp.

271{
272 return &d->drop_shadow;
273}

References d.

◆ dropShadow() [2/2]

const psd_layer_effects_drop_shadow * KisPSDLayerStyle::dropShadow ( ) const

Definition at line 215 of file kis_psd_layer_style.cpp.

216{
217 return &d->drop_shadow;
218}

References d.

◆ gradientOverlay() [1/2]

psd_layer_effects_gradient_overlay * KisPSDLayerStyle::gradientOverlay ( )

Definition at line 300 of file kis_psd_layer_style.cpp.

301{
302 return &d->gradient_overlay;
303}

References d.

◆ gradientOverlay() [2/2]

const psd_layer_effects_gradient_overlay * KisPSDLayerStyle::gradientOverlay ( ) const

Definition at line 245 of file kis_psd_layer_style.cpp.

246{
247 return &d->gradient_overlay;
248}

References d.

◆ hasLocalResourcesSnapshot()

bool KisPSDLayerStyle::hasLocalResourcesSnapshot ( ) const

◆ innerGlow() [1/2]

psd_layer_effects_inner_glow * KisPSDLayerStyle::innerGlow ( )

Definition at line 285 of file kis_psd_layer_style.cpp.

286{
287 return &d->inner_glow;
288}

References d.

◆ innerGlow() [2/2]

const psd_layer_effects_inner_glow * KisPSDLayerStyle::innerGlow ( ) const

Definition at line 230 of file kis_psd_layer_style.cpp.

231{
232 return &d->inner_glow;
233}

References d.

◆ innerShadow() [1/2]

psd_layer_effects_inner_shadow * KisPSDLayerStyle::innerShadow ( )

Definition at line 275 of file kis_psd_layer_style.cpp.

276{
277 return &d->inner_shadow;
278}

References d.

◆ innerShadow() [2/2]

const psd_layer_effects_inner_shadow * KisPSDLayerStyle::innerShadow ( ) const

Definition at line 220 of file kis_psd_layer_style.cpp.

221{
222 return &d->inner_shadow;
223}

References d.

◆ isEmpty()

bool KisPSDLayerStyle::isEmpty ( ) const
Returns
true if all the styles are disabled

Definition at line 160 of file kis_psd_layer_style.cpp.

161{
162 return !(d->drop_shadow.effectEnabled() ||
163 d->inner_shadow.effectEnabled() ||
164 d->outer_glow.effectEnabled() ||
165 d->inner_glow.effectEnabled() ||
166 d->bevel_emboss.effectEnabled() ||
167 d->satin.effectEnabled() ||
168 d->color_overlay.effectEnabled() ||
169 d->gradient_overlay.effectEnabled() ||
170 d->pattern_overlay.effectEnabled() ||
171 d->stroke.effectEnabled());
172}

References d.

◆ isEnabled()

bool KisPSDLayerStyle::isEnabled ( ) const

Definition at line 122 of file kis_psd_layer_style.cpp.

123{
124 return d->effectEnabled;
125}

References d.

◆ isSerializable()

bool KisPSDLayerStyle::isSerializable ( ) const
overridevirtual

Serializable resource is the one which can be saved/loaded into a specific storage via saveToDevice()/loadFromDevice() methods. Some resources, like KisAbrBrush or KisPsdLayerStyle, are stored in specific libraries in "batches". Such resources cannot be saved individually. They are created by the corresponding factories.

In contrast to ephemeral resource, non-serializable resource will always have a correct md5Sum() and may be stored in the resources database.

Reimplemented from KoResource.

Definition at line 137 of file kis_psd_layer_style.cpp.

138{
139 return false;
140}

◆ linkedResources()

QList< KoResourceLoadResult > KisPSDLayerStyle::linkedResources ( KisResourcesInterfaceSP globalResourcesInterface) const
overridevirtual
Returns
all the resources that are needed but (*this) resource and are not embedded into it. The resources are fetched from globalResourcesInterface. If fetching of some resources is failed, then (*this) resource is invalid.

Reimplemented from KoResource.

Definition at line 425 of file kis_psd_layer_style.cpp.

426{
428 const auto linkedResourceSignatures = KisAslLayerStyleSerializer::fetchLinkedResourceSignatures(this);
429
430 Q_FOREACH(const KoResourceSignature &sig, linkedResourceSignatures) {
431 result << globalResourcesInterface->source(sig.type).bestMatchLoadResult(sig.md5sum, sig.filename, sig.name);
432 }
433
434 return result;
435}
static QVector< KoResourceSignature > fetchLinkedResourceSignatures(const KisPSDLayerStyle *style)
A simple wrapper object for the main information about the resource.

References KisAslLayerStyleSerializer::fetchLinkedResourceSignatures(), KoResourceSignature::filename, KoResourceSignature::md5sum, KoResourceSignature::name, and KoResourceSignature::type.

◆ loadFromDevice()

bool KisPSDLayerStyle::loadFromDevice ( QIODevice * dev,
KisResourcesInterfaceSP resourcesInterface )
overridevirtual

Implements KoResource.

Definition at line 142 of file kis_psd_layer_style.cpp.

143{
144 Q_UNUSED(dev);
145 Q_UNUSED(resourcesInterface);
146 return false;
147}

References resourcesInterface.

◆ name()

QString KisPSDLayerStyle::name ( ) const
overridevirtual
Returns
the user-visible name of the resource

Reimplemented from KoResource.

◆ operator=() [1/2]

KisPSDLayerStyle KisPSDLayerStyle::operator= ( const KisPSDLayerStyle & rhs)
delete

◆ operator=() [2/2]

Private KisPSDLayerStyle::operator= ( const Private & rhs)
inline

Definition at line 57 of file kis_psd_layer_style.cpp.

58 {
59 if (this != &rhs) {
60 name = rhs.name;
61 uuid = rhs.uuid;
62 version = rhs.version;
63 effectEnabled = rhs.effectEnabled;
64 context = rhs.context;
65 drop_shadow = rhs.drop_shadow;
66 inner_shadow = rhs.inner_shadow;
67 outer_glow = rhs.outer_glow;
68 inner_glow = rhs.inner_glow;
69 bevel_emboss = rhs.bevel_emboss;
70 satin = rhs.satin;
71 color_overlay = rhs.color_overlay;
72 gradient_overlay = rhs.gradient_overlay;
73 pattern_overlay = rhs.pattern_overlay;
74 stroke = rhs.stroke;
75 resourcesInterface = rhs.resourcesInterface;
76 }
77
78 return *this;
79 }
psd_layer_effects_inner_glow inner_glow
psd_layer_effects_context context
psd_layer_effects_color_overlay color_overlay
psd_layer_effects_gradient_overlay gradient_overlay
psd_layer_effects_outer_glow outer_glow
psd_layer_effects_bevel_emboss bevel_emboss
psd_layer_effects_inner_shadow inner_shadow
psd_layer_effects_stroke stroke
psd_layer_effects_pattern_overlay pattern_overlay
psd_layer_effects_drop_shadow drop_shadow
psd_layer_effects_satin satin

◆ outerGlow() [1/2]

psd_layer_effects_outer_glow * KisPSDLayerStyle::outerGlow ( )

Definition at line 280 of file kis_psd_layer_style.cpp.

281{
282 return &d->outer_glow;
283}

References d.

◆ outerGlow() [2/2]

const psd_layer_effects_outer_glow * KisPSDLayerStyle::outerGlow ( ) const

Definition at line 225 of file kis_psd_layer_style.cpp.

226{
227 return &d->outer_glow;
228}

References d.

◆ patternOverlay() [1/2]

psd_layer_effects_pattern_overlay * KisPSDLayerStyle::patternOverlay ( )

Definition at line 305 of file kis_psd_layer_style.cpp.

306{
307 return &d->pattern_overlay;
308}

References d.

◆ patternOverlay() [2/2]

const psd_layer_effects_pattern_overlay * KisPSDLayerStyle::patternOverlay ( ) const

Definition at line 250 of file kis_psd_layer_style.cpp.

251{
252 return &d->pattern_overlay;
253}

References d.

◆ Private() [1/2]

KisPSDLayerStyle::Private ( const Private & rhs)
inline

Definition at line 38 of file kis_psd_layer_style.cpp.

39 : name(rhs.name),
40 uuid(rhs.uuid),
41 version(rhs.version),
42 effectEnabled(rhs.effectEnabled),
43 context(rhs.context),
44 drop_shadow(rhs.drop_shadow),
45 inner_shadow(rhs.inner_shadow),
46 outer_glow(rhs.outer_glow),
47 inner_glow(rhs.inner_glow),
48 bevel_emboss(rhs.bevel_emboss),
49 satin(rhs.satin),
50 color_overlay(rhs.color_overlay),
51 gradient_overlay(rhs.gradient_overlay),
52 pattern_overlay(rhs.pattern_overlay),
53 stroke(rhs.stroke),
54 resourcesInterface(rhs.resourcesInterface)
55 {}

◆ Private() [2/2]

KisPSDLayerStyle::Private ( KisResourcesInterfaceSP _resourcesInterface)
inline

Definition at line 28 of file kis_psd_layer_style.cpp.

29 : version(-1)
30 , effectEnabled(true)
31 , resourcesInterface(_resourcesInterface)
32 {
33 if (!resourcesInterface) {
35 }
36 }

◆ psdUuid()

QString KisPSDLayerStyle::psdUuid ( ) const

Definition at line 200 of file kis_psd_layer_style.cpp.

201{
202 return uuid().toString().mid(1, 36);
203}

References uuid.

◆ requiredCanvasResources()

QList< int > KisPSDLayerStyle::requiredCanvasResources ( ) const
overridevirtual

A list of per-canvas active resources that are needed for this resource to function properly. E.g. some gradients may require Fg/Bg colors and some presets would like to know about the current gradient selection.

Returns
a list of canvas resources needed for the current resource

Reimplemented from KoResource.

Definition at line 437 of file kis_psd_layer_style.cpp.

438{
439 QList<int> result;
440
441 auto addCanvasResources = [&result] (KoAbstractGradientSP gradient) {
442 if (gradient) {
443 result << gradient->requiredCanvasResources();
444 }
445 };
446
448 addCanvasResources(gradientOverlay()->gradient(resourcesInterface()));
449 }
450
451 if (innerGlow()->effectEnabled() && innerGlow()->fillType() == psd_fill_gradient) {
452 addCanvasResources(innerGlow()->gradient(resourcesInterface()));
453 }
454
455 if (outerGlow()->effectEnabled() && outerGlow()->fillType() == psd_fill_gradient) {
456 addCanvasResources(outerGlow()->gradient(resourcesInterface()));
457 }
458
459 if (stroke()->effectEnabled() && stroke()->fillType() == psd_fill_gradient) {
460 addCanvasResources(stroke()->gradient(resourcesInterface()));
461 }
462
464
465 return result;
466}
bool effectEnabled() const
Definition psd.h:261
void makeContainerUnique(C &container)
const psd_layer_effects_gradient_overlay * gradientOverlay() const
const psd_layer_effects_inner_glow * innerGlow() const
const psd_layer_effects_outer_glow * outerGlow() const

References effectEnabled, psd_layer_effects_shadow_base::effectEnabled(), gradientOverlay(), innerGlow(), KritaUtils::makeContainerUnique(), outerGlow(), psd_fill_gradient, resourcesInterface, and stroke.

◆ resourcesInterface()

KisResourcesInterfaceSP KisPSDLayerStyle::resourcesInterface ( ) const
Returns
resource interface that is used by KisPSDLayerStyle object for loading linked resources

◆ resourceType()

QPair< QString, QString > KisPSDLayerStyle::resourceType ( ) const
inlineoverridevirtual
Returns
the resource type

Implements KoResource.

Definition at line 55 of file kis_psd_layer_style.h.

56 {
57 return QPair<QString, QString>(ResourceType::LayerStyles, "");
58 }
const QString LayerStyles

References ResourceType::LayerStyles.

◆ satin() [1/2]

psd_layer_effects_satin * KisPSDLayerStyle::satin ( )

◆ satin() [2/2]

const psd_layer_effects_satin * KisPSDLayerStyle::satin ( ) const

◆ saveToDevice()

bool KisPSDLayerStyle::saveToDevice ( QIODevice * dev) const
overridevirtual

Reimplemented from KoResource.

Definition at line 149 of file kis_psd_layer_style.cpp.

150{
151 KIS_SAFE_ASSERT_RECOVER_NOOP(false && "KisPSDLayerStyle is not meant to be serializable!");
152 return false;
153}
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
Definition kis_assert.h:130

References KIS_SAFE_ASSERT_RECOVER_NOOP.

◆ setEnabled()

void KisPSDLayerStyle::setEnabled ( bool value)

Definition at line 127 of file kis_psd_layer_style.cpp.

128{
129 d->effectEnabled = value;
130}
float value(const T *src, size_t ch)

References d, and value().

◆ setName()

void KisPSDLayerStyle::setName ( const QString & value)

Definition at line 179 of file kis_psd_layer_style.cpp.

180{
181 d->name = value;
182 dynamic_cast<KoResource*>(this)->setName(value);
183}
void setName(const QString &value)

References d, setName(), and value().

◆ setPsdUuid()

void KisPSDLayerStyle::setPsdUuid ( const QString & value)

Definition at line 205 of file kis_psd_layer_style.cpp.

206{
207 setUuid(QUuid(QString("{%1}").arg(value)));
208}
void setUuid(const QUuid &value)

References setUuid(), and value().

◆ setResourcesInterface()

void KisPSDLayerStyle::setResourcesInterface ( KisResourcesInterfaceSP resourcesInterface)

Set resource interface that will be used by KisPSDLayerStyle object for loading linked resources

Definition at line 325 of file kis_psd_layer_style.cpp.

326{
327 d->resourcesInterface = resourcesInterface;
328}

References d, and resourcesInterface.

◆ setSideLoadedResources()

void KisPSDLayerStyle::setSideLoadedResources ( const QList< KoEmbeddedResource > & value)
private

Definition at line 420 of file kis_psd_layer_style.cpp.

421{
422 d->sideLoadedResources = value;
423}

References d, and value().

◆ setUuid()

void KisPSDLayerStyle::setUuid ( const QUuid & value)

Definition at line 194 of file kis_psd_layer_style.cpp.

195{
196 d->uuid = value;
197 this->setMD5Sum(KoMD5Generator::generateHash(value.toByteArray()));
198}
static QString generateHash(const QString &filename)
generateHash reads the given file and generates a hex-encoded md5sum for the file.
void setMD5Sum(const QString &md5sum)
Set the md5sum of this resource. It must be in hex-encoded string format.

References d, KoMD5Generator::generateHash(), KoResource::setMD5Sum(), and value().

◆ sideLoadedResources()

QList< KoResourceLoadResult > KisPSDLayerStyle::sideLoadedResources ( KisResourcesInterfaceSP globalResourcesInterface) const
overridevirtual

Side-loaded resources are the resources embedded into the file format and loaded alongside the main resource. After being loaded in loadFromDevice() they are stored separately and may be fetched by the resource locator.

After the locator has loaded them into the global storage, it can free the memory by calling clearSideLoadedResources().

Reimplemented from KoResource.

◆ stroke() [1/2]

psd_layer_effects_stroke * KisPSDLayerStyle::stroke ( )

◆ stroke() [2/2]

const psd_layer_effects_stroke * KisPSDLayerStyle::stroke ( ) const

◆ uuid()

QUuid KisPSDLayerStyle::uuid ( ) const

Friends And Related Symbol Documentation

◆ KisAslLayerStyleSerializer

friend class KisAslLayerStyleSerializer
friend

Definition at line 126 of file kis_psd_layer_style.h.

◆ KisDlgLayerStyle

friend class KisDlgLayerStyle
friend

Definition at line 125 of file kis_psd_layer_style.h.

Member Data Documentation

◆ bevel_emboss

psd_layer_effects_bevel_emboss KisPSDLayerStyle::bevel_emboss

Definition at line 90 of file kis_psd_layer_style.cpp.

◆ color_overlay

psd_layer_effects_color_overlay KisPSDLayerStyle::color_overlay

Definition at line 92 of file kis_psd_layer_style.cpp.

◆ context

psd_layer_effects_context * KisPSDLayerStyle::context

Definition at line 85 of file kis_psd_layer_style.cpp.

◆ d

Private* const KisPSDLayerStyle::d
private

Definition at line 131 of file kis_psd_layer_style.h.

◆ drop_shadow

psd_layer_effects_drop_shadow KisPSDLayerStyle::drop_shadow

Definition at line 86 of file kis_psd_layer_style.cpp.

◆ effectEnabled

bool KisPSDLayerStyle::effectEnabled

Definition at line 84 of file kis_psd_layer_style.cpp.

◆ gradient_overlay

psd_layer_effects_gradient_overlay KisPSDLayerStyle::gradient_overlay

Definition at line 93 of file kis_psd_layer_style.cpp.

◆ inner_glow

psd_layer_effects_inner_glow KisPSDLayerStyle::inner_glow

Definition at line 89 of file kis_psd_layer_style.cpp.

◆ inner_shadow

psd_layer_effects_inner_shadow KisPSDLayerStyle::inner_shadow

Definition at line 87 of file kis_psd_layer_style.cpp.

◆ name

QString KisPSDLayerStyle::name

Definition at line 81 of file kis_psd_layer_style.cpp.

◆ outer_glow

psd_layer_effects_outer_glow KisPSDLayerStyle::outer_glow

Definition at line 88 of file kis_psd_layer_style.cpp.

◆ pattern_overlay

psd_layer_effects_pattern_overlay KisPSDLayerStyle::pattern_overlay

Definition at line 94 of file kis_psd_layer_style.cpp.

◆ resourcesInterface

KisResourcesInterfaceSP KisPSDLayerStyle::resourcesInterface

Definition at line 97 of file kis_psd_layer_style.cpp.

◆ satin

psd_layer_effects_satin * KisPSDLayerStyle::satin

Definition at line 91 of file kis_psd_layer_style.cpp.

◆ sideLoadedResources

QList< KoResourceLoadResult > KisPSDLayerStyle::sideLoadedResources

Do not load the existing resources. There is no use for it.

Definition at line 99 of file kis_psd_layer_style.cpp.

◆ stroke

psd_layer_effects_stroke * KisPSDLayerStyle::stroke

Definition at line 95 of file kis_psd_layer_style.cpp.

◆ uuid

QUuid KisPSDLayerStyle::uuid

Definition at line 82 of file kis_psd_layer_style.cpp.

◆ version

quint16 KisPSDLayerStyle::version

Definition at line 83 of file kis_psd_layer_style.cpp.


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