Krita Source Code Documentation
Loading...
Searching...
No Matches
psd_layer_solid_color Struct Reference

#include <psd_additional_layer_info_block.h>

Public Member Functions

QDomDocument getASLXML ()
 
QSharedPointer< KoShapeBackgroundgetBackground ()
 
QBrush getBrush ()
 
QDomDocument getFillLayerConfig ()
 
bool loadFromConfig (KisFilterConfigurationSP cfg)
 
void setColor (const KoColor &color)
 
void writeASL (KisAslXmlWriter &w)
 

Static Public Member Functions

static void setupCatcher (const QString path, KisAslCallbackObjectCatcher &catcher, psd_layer_solid_color *data)
 

Public Attributes

const KoColorSpacecs {nullptr}
 
KoColor fill_color
 

Detailed Description

Definition at line 166 of file psd_additional_layer_info_block.h.

Member Function Documentation

◆ getASLXML()

QDomDocument psd_layer_solid_color::getASLXML ( )
inline

Definition at line 211 of file psd_additional_layer_info_block.h.

211 {
213 w.enterDescriptor("", "", "null");
214 writeASL(w);
215 w.leaveDescriptor();
216
217 return w.document();
218 }

◆ getBackground()

QSharedPointer< KoShapeBackground > psd_layer_solid_color::getBackground ( )
inline

Definition at line 234 of file psd_additional_layer_info_block.h.

◆ getBrush()

QBrush psd_layer_solid_color::getBrush ( )
inline

Definition at line 228 of file psd_additional_layer_info_block.h.

228 {
229 QColor c;
231 return QBrush(c, Qt::SolidPattern);
232 }
void toQColor(QColor *c) const
a convenience method for the above.
Definition KoColor.cpp:198

References KoColor::toQColor().

◆ getFillLayerConfig()

QDomDocument psd_layer_solid_color::getFillLayerConfig ( )
inline

Definition at line 192 of file psd_additional_layer_info_block.h.

192 {
195 QVariant v;
196 v.setValue(fill_color);
197 cfg->setProperty("color", v);
198 QDomDocument doc;
199 doc.setContent(cfg->toXML());
200 return doc;
201 }
qreal v
static KisGeneratorRegistry * instance()
static KisResourcesInterfaceSP instance()
const T value(const QString &id) const
virtual KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const

References KisBaseProcessor::defaultConfiguration(), KisGeneratorRegistry::instance(), KisGlobalResourcesInterface::instance(), v, and KoGenericRegistry< T >::value().

◆ loadFromConfig()

bool psd_layer_solid_color::loadFromConfig ( KisFilterConfigurationSP cfg)
inline

Definition at line 203 of file psd_additional_layer_info_block.h.

203 {
204 if (cfg->name() != "color") {
205 return false;
206 }
207 fill_color = cfg->getColor("color");
208 return true;
209 }

◆ setColor()

void psd_layer_solid_color::setColor ( const KoColor & color)
inline

PSD files may be saved with a stripped profile that is not suitable for displaying, so we should convert such colors into some "universal" color space, so that we could actually manage it

Definition at line 171 of file psd_additional_layer_info_block.h.

171 {
172 fill_color = color;
175 }
176
184 colorSpace(LABAColorModelID.id(), Float32BitsColorDepthID.id(), 0));
185 }
186 }
const KoID Float32BitsColorDepthID("F32", ki18n("32-bit float/channel"))
const KoID LABAColorModelID("LABA", ki18n("L*a*b*/Alpha"))
virtual KoID colorModelId() const =0
virtual const KoColorProfile * profile() const =0
void convertTo(const KoColorSpace *cs, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags)
Definition KoColor.cpp:136
const KoColorProfile * profile() const
return the current profile
Definition KoColor.cpp:299
const KoColorSpace * colorSpace() const
return the current colorSpace
Definition KoColor.h:82
void setProfile(const KoColorProfile *profile)
assign new profile without converting pixel data
Definition KoColor.cpp:177
QString id() const
Definition KoID.cpp:63
virtual bool isSuitableForOutput() const =0
static KoColorSpaceRegistry * instance()

References KoColorSpace::colorModelId(), KoColor::colorSpace(), KoColor::convertTo(), Float32BitsColorDepthID, KoID::id(), KoColorSpaceRegistry::instance(), KoColorProfile::isSuitableForOutput(), LABAColorModelID, KoColor::profile(), and KoColor::setProfile().

◆ setupCatcher()

static void psd_layer_solid_color::setupCatcher ( const QString path,
KisAslCallbackObjectCatcher & catcher,
psd_layer_solid_color * data )
inlinestatic

Definition at line 188 of file psd_additional_layer_info_block.h.

188 {
189 catcher.subscribeColor(path + "/Clr ", std::bind(&psd_layer_solid_color::setColor, data, std::placeholders::_1));
190 }
void subscribeColor(const QString &path, ASLCallbackColor callback)
void setColor(const KoColor &color)

References setColor(), and KisAslCallbackObjectCatcher::subscribeColor().

◆ writeASL()

void psd_layer_solid_color::writeASL ( KisAslXmlWriter & w)
inline

Definition at line 220 of file psd_additional_layer_info_block.h.

220 {
221 if (cs) {
222 w.writeColor("Clr ", fill_color.convertedTo(cs));
223 } else {
224 w.writeColor("Clr ", fill_color);
225 }
226 }
KoColor convertedTo(const KoColorSpace *cs, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const
Definition KoColor.cpp:163

References KoColor::convertedTo().

Member Data Documentation

◆ cs

const KoColorSpace* psd_layer_solid_color::cs {nullptr}

Definition at line 168 of file psd_additional_layer_info_block.h.

168{nullptr};

◆ fill_color

KoColor psd_layer_solid_color::fill_color

Definition at line 167 of file psd_additional_layer_info_block.h.


The documentation for this struct was generated from the following file: