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};
133 bool userLocked {
false};
150 quint8 defaultColor {255};
151 bool positionedRelativeToLayer {
false};
152 bool disabled {
false};
153 bool invertLayerMaskWhenBlending {
false};
154 quint8 userMaskDensity {0};
155 double userMaskFeather {0.0};
156 quint8 vectorMaskDensity {0};
157 double vectorMaskFeather {0.0};
176 QString layerName {
"UNINITIALIZED"};
181 template<psd_
byte_order
byteOrder = psd_
byte_order::psdBigEndian>
182 bool readImpl(QIODevice &io);
184 template<psd_
byte_order
byteOrder = psd_
byte_order::psdBigEndian>
185 void writeImpl(QIODevice &io,
188 const QRect &maskRect,
190 const QDomDocument &stylesXmlDoc,
191 bool useLfxsLayerStyleFormat);
193 template<psd_
byte_order = psd_
byte_order::psdBigEndian>
194 void writeTransparencyMaskPixelData(QIODevice &io);
196 template<psd_
byte_order = psd_
byte_order::psdBigEndian>
201 quint16 psdLabelColor(
int colorLabelIndex);
202 int kritaColorLabelIndex(quint16 labelColor);
208 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