551 static void registerFormat();
553 const char *
className()
const override {
return "IMG_FilePSD"; }
569 int readScanline(
int y,
void *
buf)
override;
572 int create(
const IMG_Stat &stat)
override;
575 int writeScanline(
int scan,
const void *
buf)
override;
580 int closeFile()
override;
597 bool readFileSummary();
624 bool convertStreamEndian(
void *
buf,
int length);
640 bool convertStreamEndian(
void *
buf,
int length,
int bytesPerElement);
713 void processAlpha(
void *
data,
int size,
bool do_multiply);
721 bool seekToColorModeData();
727 bool seekToResourceData();
733 bool seekToLayerMaskData();
741 int seekToLayerInfo();
750 bool seekToCompleteCompositeImageData();
758 bool seekToCompositeImageDataOnly();
771 bool seekToFirstRLEScanline();
782 bool seekToScanLineComposite(
int y,
int channel);
800 int seekToScanLineLayerChannel(
int y,
int layer_index,
819 int seekToScanLineLayerChannel(
int y,
int layer_index,
int channel);
831 bool seekToChannelImageData(
int layer_index = 0,
844 bool seekToChannelImageData(
int layer_index = 0,
int channel = 0);
857 bool readCompositeCompressionType();
862 bool readColorModeDataLength();
867 bool readImageResourceDataLength();
872 bool readLayerMaskDataLength();
877 bool readAllSectionLengths();
882 bool readLayerMaskInfo();
887 bool readLayerInfo();
893 bool readLayerRecordData();
908 bool readGlobalLayerMaskInfo();
914 bool readAdditionalLayerInfo();
940 bool readLayerScanline(
int y,
void *
buf,
int layer_index);
987 bool readMaskLayerScanline(
int y,
void *
buf,
int parent_layer_index,
1014 bool readMaskLayerScanline(
int y,
void *
buf,
1033 bool readChannelScanline(
int y,
void *
buf,
int layer_index,
1066 bool readCompositeScanline(
int y,
void *
buf);
1122 bool isKeyLengthFourBytes(
const char myKey[4]);
1145 bool readFullLayerChannelScanline(
int layer_index,
PSD_ChannelType channel,
1167 bool extractVisibleLayerChannelScanline(
int layer_index,
1176 int removeFolderLayers();
1180 bool addDefaultPlane();
1190 bool addMaskPlanes();
1197 bool doesLayerHaveMasks(
int layer_index);
1238 int determineLayerGroupType(
int additionalLayerInfoLength,
1247 bool doesCompositeImageExist();
1255 bool isCompositeScanlineAllWhite(
int y);
1263 bool initializeAllLayers();
1341 void getChannelBoundaries(
int layer_index,
int channel,
int *
top,
1379 int getLayerIndexFromName(
const UT_StringRef &layer_name);
1403 uint64* myRLEChannelLengths;
1406 uint32 myHeaderDataLength;
1409 uint32 myColorModeDataLength;
1412 uint32 myImageResourceDataLength;
1418 uint64 myChannelImageDataPosition;
1421 uint16 myCompressionMethod;
1424 bool myCompositeImageExists;
GLenum GLuint GLenum GLsizei const GLchar * buf
UT_Array< psd_half_bytes_t > myRLELengths
GLuint GLsizei GLsizei * length
**But if you need a result
uint64 myImageDataPosition
unsigned long long uint64
GLint GLsizei GLsizei height
uint8 myBlendSignature[4]
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
IMG_PSDLayerMaskData myLayerMaskData
UT_StringHolder myLayerName
GLfloat GLfloat GLfloat GLfloat h
UT_Array< int > myChannelInfoInsertionOrder
PSD_LayerGroupType myLayerGroupType
UT_SortedMap< PSD_ChannelType, IMG_PSDChannelInfo > myChannelInfo
Contains the details of a specific image file, used by IMG_File. This class contains all the high-lev...
GLdouble GLdouble GLdouble top
psd_bytes_t myChannelDataLength
UT_Array< IMG_PSDLayerRecords > myLayerRecords
const char * className() const override