5#include "pxcrypt/pxcrypt_codec_export.h"
11#include <qx/core/qx-abstracterror.h>
14#include "pxcrypt/codec/encoder.h"
19class MultiEncoderPrivate;
34 static quint64 calculateMaximumPayload(
const QList<QSize>& dims, quint16 tagSize, quint8 bpc);
35 static quint8 calculateOptimalDensity(
const QList<QSize>& dims, quint16 tagSize, quint32 payloadSize);
63 static inline const QString PREFIX_STRING = u
"Encoding failed."_s;
66 {MissingPayload, u
"No payload data was provided."_s},
67 {MissingMediums, u
"No mediums were provided."_s},
68 {InvalidImage, u
"A medium is invalid."_s},
69 {WontFit, u
"A medium's dimensions are not large enough to fit the payload."_s},
70 {InvalidBpc, u
"Bits-per-channel must be between 1 and 7."_s},
71 {WeaveFailed, u
"There was an error while weaving data."_s}
79 qsizetype mImageIndex;
83 Error(Type t = NoError, qsizetype idx = -1,
const QString& s = {});
89 qsizetype imageIndex()
const;
94 quint32 deriveValue()
const override;
95 QString derivePrimary()
const override;
96 QString deriveSecondary()
const override;
The Encoder class is a base class from which all PxCrypt encoders derive in order to provide serializ...
Definition encoder.h:17
The MultiDecoder::Error class is used to report errors during multi-image decoding.
Definition multi_decoder.h:39
The MultiEncoder::Error class is used to report errors during multi-image encoding.
Definition multi_encoder.h:47
Type
Definition multi_encoder.h:51
@ NoError
Definition multi_encoder.h:52
@ MissingPayload
Definition multi_encoder.h:53
@ WontFit
Definition multi_encoder.h:56
@ MissingMediums
Definition multi_encoder.h:54
@ InvalidImage
Definition multi_encoder.h:55
@ InvalidBpc
Definition multi_encoder.h:57
The MultiEncoder class encodes a payload and identifying tag into a single image.
Definition multi_encoder.h:22
The PxCrypt namespace is the main namespace through which all functionality of the PxCrypt library is...
Definition decoder.cpp:6