Krita Source Code Documentation
Loading...
Searching...
No Matches
psd_pixel_utils.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com>
3 * SPDX-FileCopyrightText: 2021 L. E. Segovia <amy@amyspark.me>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8#ifndef __PSD_PIXEL_UTILS_H
9#define __PSD_PIXEL_UTILS_H
10
11#include "kritapsd_export.h"
12
13#include <QRect>
14#include <QVector>
15#include <psd.h>
16
17#include "kis_types.h"
18
19class QIODevice;
20struct ChannelInfo;
21struct ChannelWritingInfo;
22
23namespace PsdPixelUtils
24{
25struct KRITAPSD_EXPORT ChannelWritingInfo {
27 : channelId(0)
28 , sizeFieldOffset(-1)
29 , rleBlockOffset(-1)
30 {
31 }
32 ChannelWritingInfo(qint16 _channelId, int _sizeFieldOffset)
33 : channelId(_channelId)
34 , sizeFieldOffset(_sizeFieldOffset)
35 , rleBlockOffset(-1)
36 {
37 }
38 ChannelWritingInfo(qint16 _channelId, int _sizeFieldOffset, int _rleBlockOffset)
39 : channelId(_channelId)
40 , sizeFieldOffset(_sizeFieldOffset)
41 , rleBlockOffset(_rleBlockOffset)
42 {
43 }
44
45 qint16 channelId;
48};
49
50void KRITAPSD_EXPORT readChannels(QIODevice &io,
51 KisPaintDeviceSP device,
52 psd_color_mode colorMode,
53 int channelSize,
54 const QRect &layerRect,
55 QVector<ChannelInfo *> infoRecords,
57
58void KRITAPSD_EXPORT readAlphaMaskChannels(QIODevice &io,
59 KisPaintDeviceSP device,
60 int channelSize,
61 const QRect &layerRect,
62 QVector<ChannelInfo *> infoRecords,
64
65void KRITAPSD_EXPORT writeChannelDataRLE(QIODevice &io,
66 const quint8 *plane,
67 const int channelSize,
68 const QRect &rc,
69 const qint64 sizeFieldOffset,
70 const qint64 rleBlockOffset,
71 const bool writeCompressionType,
73
74void KRITAPSD_EXPORT writePixelDataCommon(QIODevice &io,
76 const QRect &rc,
77 psd_color_mode colorMode,
78 int channelSize,
79 bool alphaFirst,
80 const bool writeCompressionType,
81 QVector<ChannelWritingInfo> &writingInfoList,
82 psd_compression_type compressionType,
84}
85
86#endif /* __PSD_PIXEL_UTILS_H */
void 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)
void readChannels(QIODevice &io, KisPaintDeviceSP device, psd_color_mode colorMode, int channelSize, const QRect &layerRect, QVector< ChannelInfo * > infoRecords, psd_byte_order byteOrder)
void 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)
void readAlphaMaskChannels(QIODevice &io, KisPaintDeviceSP device, int channelSize, const QRect &layerRect, QVector< ChannelInfo * > infoRecords, psd_byte_order byteOrder)
psd_byte_order
Definition psd.h:33
psd_compression_type
Definition psd.h:39
psd_color_mode
Definition psd.h:50
ChannelWritingInfo(qint16 _channelId, int _sizeFieldOffset, int _rleBlockOffset)
ChannelWritingInfo(qint16 _channelId, int _sizeFieldOffset)