Krita Source Code Documentation
Loading...
Searching...
No Matches
psd_pixel_utils.cpp File Reference
#include "psd_pixel_utils.h"
#include <QIODevice>
#include <QMap>
#include <QtEndian>
#include <QtGlobal>
#include <KoColorSpace.h>
#include <KoColorSpaceMaths.h>
#include <KoColorSpaceTraits.h>
#include <colorspaces/KoAlphaColorSpace.h>
#include <kis_global.h>
#include <kis_iterator_ng.h>
#include <asl/kis_asl_reader_utils.h>
#include <asl/kis_asl_writer_utils.h>
#include <asl/kis_offset_keeper.h>
#include <compression.h>
#include <psd.h>
#include <psd_layer_record.h>

Go to the source code of this file.

Namespaces

namespace  PsdPixelUtils
 

Typedefs

using PsdPixelUtils::PixelFunc = std::function<void(int, const QMap<quint16, QByteArray> &, int, quint8 *)>
 

Functions

template<class Traits >
Traits::channels_type PsdPixelUtils::convertByteOrder (typename Traits::channels_type value)
 
template<>
float PsdPixelUtils::convertByteOrder< AlphaF32Traits > (float value)
 
template<>
quint16 PsdPixelUtils::convertByteOrder< AlphaU16Traits > (quint16 value)
 
template<>
quint8 PsdPixelUtils::convertByteOrder< AlphaU8Traits > (quint8 value)
 
template<>
quint16 PsdPixelUtils::convertByteOrder< KoBgrU16Traits > (quint16 value)
 
template<>
quint32 PsdPixelUtils::convertByteOrder< KoBgrU32Traits > (quint32 value)
 
template<>
quint8 PsdPixelUtils::convertByteOrder< KoBgrU8Traits > (quint8 value)
 
template<>
float PsdPixelUtils::convertByteOrder< KoCmykF32Traits > (float value)
 
template<>
quint16 PsdPixelUtils::convertByteOrder< KoCmykU16Traits > (quint16 value)
 
template<>
quint8 PsdPixelUtils::convertByteOrder< KoCmykU8Traits > (quint8 value)
 
template<>
quint16 PsdPixelUtils::convertByteOrder< KoGrayU16Traits > (quint16 value)
 
template<>
quint32 PsdPixelUtils::convertByteOrder< KoGrayU32Traits > (quint32 value)
 
template<>
quint8 PsdPixelUtils::convertByteOrder< KoGrayU8Traits > (quint8 value)
 
template<>
float PsdPixelUtils::convertByteOrder< KoLabF32Traits > (float value)
 
template<>
quint16 PsdPixelUtils::convertByteOrder< KoLabU16Traits > (quint16 value)
 
template<>
quint8 PsdPixelUtils::convertByteOrder< KoLabU8Traits > (quint8 value)
 
QMap< quint16, QByteArray > PsdPixelUtils::fetchChannelsBytes (QIODevice &io, QVector< ChannelInfo * > channelInfoRecords, int row, int width, int channelSize, bool processMasks)
 
template<psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::preparePixelForWrite (quint8 *dataPlane, int numPixels, int channelSize, int channelId, psd_color_mode colorMode)
 
void PsdPixelUtils::readAlphaMaskChannels (QIODevice &io, KisPaintDeviceSP device, int channelSize, const QRect &layerRect, QVector< ChannelInfo * > infoRecords, psd_byte_order byteOrder)
 
template<psd_byte_order byteOrder>
void PsdPixelUtils::readAlphaMaskChannelsImpl (QIODevice &io, KisPaintDeviceSP device, int channelSize, const QRect &layerRect, QVector< ChannelInfo * > infoRecords)
 
template<class Traits , psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::readAlphaMaskPixel (const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
template<psd_byte_order byteOrder>
void PsdPixelUtils::readAlphaMaskPixelCommon (int channelSize, const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
void PsdPixelUtils::readChannels (QIODevice &io, KisPaintDeviceSP device, psd_color_mode colorMode, int channelSize, const QRect &layerRect, QVector< ChannelInfo * > infoRecords, psd_byte_order byteOrder)
 
template<psd_byte_order byteOrder>
void PsdPixelUtils::readChannelsImpl (QIODevice &io, KisPaintDeviceSP device, psd_color_mode colorMode, int channelSize, const QRect &layerRect, QVector< ChannelInfo * > infoRecords)
 
template<class Traits , psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
Traits::channels_type PsdPixelUtils::readChannelValue (const QMap< quint16, QByteArray > &channelBytes, quint16 channelId, int col, typename Traits::channels_type defaultValue)
 
template<class Traits , psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::readCmykPixel (const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
template<psd_byte_order byteOrder>
void PsdPixelUtils::readCmykPixelCommon (int channelSize, const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
void PsdPixelUtils::readCommon (KisPaintDeviceSP dev, QIODevice &io, const QRect &layerRect, QVector< ChannelInfo * > infoRecords, int channelSize, PixelFunc pixelFunc, bool processMasks)
 
template<class Traits , psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::readGrayPixel (const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
template<psd_byte_order byteOrder>
void PsdPixelUtils::readGrayPixelCommon (int channelSize, const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
template<class Traits , psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::readLabPixel (const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
template<psd_byte_order byteOrder>
void PsdPixelUtils::readLabPixelCommon (int channelSize, const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
template<class Traits , psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::readRgbPixel (const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
template<psd_byte_order byteOrder>
void PsdPixelUtils::readRgbPixelCommon (int channelSize, const QMap< quint16, QByteArray > &channelBytes, int col, quint8 *dstPtr)
 
template<class Traits >
quint8 PsdPixelUtils::truncateToOpacity (typename Traits::channels_type value)
 
template<>
quint8 PsdPixelUtils::truncateToOpacity< AlphaF32Traits > (typename AlphaF32Traits::channels_type value)
 
template<>
quint8 PsdPixelUtils::truncateToOpacity< AlphaU16Traits > (typename AlphaU16Traits::channels_type value)
 
template<>
quint8 PsdPixelUtils::truncateToOpacity< AlphaU8Traits > (typename AlphaU8Traits::channels_type value)
 
void PsdPixelUtils::writeChannelDataRLE (QIODevice &io, const quint8 *plane, const int channelSize, const QRect &rc, const qint64 sizeFieldOffset, const qint64 rleBlockOffset, const bool writeCompressionType, psd_byte_order byteOrder)
 
template<psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::writeChannelDataRLEImpl (QIODevice &io, const quint8 *plane, const int channelSize, const QRect &rc, const qint64 sizeFieldOffset, const qint64 rleBlockOffset, const bool writeCompressionType)
 
template<psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::writeChannelDataZIPImpl (QIODevice &io, const quint8 *plane, const int channelSize, const QRect &rc, const qint64 sizeFieldOffset, const bool writeCompressionType)
 
void PsdPixelUtils::writePixelDataCommon (QIODevice &io, KisPaintDeviceSP dev, const QRect &rc, psd_color_mode colorMode, int channelSize, bool alphaFirst, const bool writeCompressionType, QVector< ChannelWritingInfo > &writingInfoList, psd_compression_type compressionType, psd_byte_order byteOrder)
 
template<psd_byte_order byteOrder = psd_byte_order::psdBigEndian>
void PsdPixelUtils::writePixelDataCommonImpl (QIODevice &io, KisPaintDeviceSP dev, const QRect &rc, psd_color_mode colorMode, int channelSize, bool alphaFirst, const bool writeCompressionType, QVector< ChannelWritingInfo > &writingInfoList, psd_compression_type compressionType)