7#ifndef PSD_LAYER_RECORD_H
8#define PSD_LAYER_RECORD_H
10#include "kritapsd_export.h"
53 , channelDataLength(0)
55 , channelInfoPosition(0)
75 qDeleteAll(channelInfoRecords);
80 bool read(QIODevice &io);
101 void addPathShapeToPSDPath(
psd_path &path,
KoPathShape *shape,
double shapeWidth,
double shapeHeight);
103 void write(QIODevice &io,
106 const QRect &maskRect,
108 const QDomDocument &stylesXmlDoc,
109 bool useLfxsLayerStyleFormat);
121 quint16 nChannels {0};
126 bool isPassThrough {
false};
130 bool transparencyProtected {
false};
132 bool irrelevant {
false};
149 quint8 defaultColor {255};
150 bool positionedRelativeToLayer {
false};
151 bool disabled {
false};
152 bool invertLayerMaskWhenBlending {
false};
153 quint8 userMaskDensity {0};
154 double userMaskFeather {0.0};
155 quint8 vectorMaskDensity {0};
156 double vectorMaskFeather {0.0};
175 QString layerName {
"UNINITIALIZED"};
180 template<psd_
byte_order
byteOrder = psd_
byte_order::psdBigEndian>
181 bool readImpl(QIODevice &io);
183 template<psd_
byte_order
byteOrder = psd_
byte_order::psdBigEndian>
184 void writeImpl(QIODevice &io,
187 const QRect &maskRect,
189 const QDomDocument &stylesXmlDoc,
190 bool useLfxsLayerStyleFormat);
192 template<psd_
byte_order = psd_
byte_order::psdBigEndian>
193 void writeTransparencyMaskPixelData(QIODevice &io);
195 template<psd_
byte_order = psd_
byte_order::psdBigEndian>
200 quint16 psdLabelColor(
int colorLabelIndex);
201 int kritaColorLabelIndex(quint16 labelColor);
207 qint64 m_transparencyMaskSizeOffset {0};
The position of a path point within a path shape.
PsdAdditionalLayerInfoBlock infoBlocks
QRect m_onlyTransparencyMaskRect
psd_vector_mask vectorMask
psd_layer_type_shape textShape
QDomDocument vectorOriginationData
KisPaintDeviceSP m_layerContentDevice
LayerBlendingRanges blendingRanges
QVector< ChannelInfo * > channelInfoRecords
QDomDocument vectorStroke
KisNodeSP m_onlyTransparencyMask
The PsdAdditionalLayerInfoBlock class implements the Additional Layer Information block.
@ psd_layer_type_brightness_contrast
@ psd_layer_type_channel_mixer
@ psd_layer_type_hue_saturation
@ psd_layer_type_color_balance
@ psd_layer_type_photo_filter
@ psd_layer_type_gradient_map
@ psd_layer_type_threshold
@ psd_layer_type_posterize
@ psd_layer_type_pattern_fill
@ psd_layer_type_gradient_fill
@ psd_layer_type_selective_color
@ psd_layer_type_solid_color
KRITAPSD_EXPORT QDebug operator<<(QDebug dbg, const PSDLayerRecord &layer)
QVector< quint32 > rleRowLengths
psd_compression_type compressionType
quint64 channelDataLength
std::array< quint8, 2 > blackValues
std::array< quint8, 2 > whiteValues
QVector< QPair< LayerBlendingRange, LayerBlendingRange > > sourceDestinationRanges
QPair< LayerBlendingRange, LayerBlendingRange > compositeGrayRange