PxCrypt v0.1
Encrypt data within an image
Loading...
Searching...
No Matches
px_access_write.h
1#ifndef PX_ACCESS_WRITE_H
2#define PX_ACCESS_WRITE_H
3
4// Qt Includes
5#include <QImage>
6
7// Project Includes
8#include "../encdec.h"
9#include "ch_sequence_generator.h"
10#include "px_sequence_generator.h"
11
12namespace PxCrypt
13{
16class PxAccessWrite
17{
18//-Instance Variables------------------------------------------------------------------------------------------------------
19private:
20 QRgb* mPixels;
21 quint8 mBpc;
22 EncStrat mStrat;
23 PxSequenceGenerator mPxSequence;
24 ChSequenceGenerator mChSequence;
25
26 quint64 mCurrentIndex;
27 Channel mCurrentChannel;
28
29 bool mAtEnd;
30
31//-Constructor---------------------------------------------------------------------------------------------------------
32public:
33 PxAccessWrite(QImage* image, QByteArrayView seed, quint8 bpc, EncStrat strat);
34
35//-Instance Functions----------------------------------------------------------------------------------------------
36private:
37 bool advance();
38 void writeMetaValue(quint8 value);
39 void writeMetaPixels();
40
41public:
42 quint8 bpc() const;
43 EncStrat strat() const;
44
45 bool hasNextPixel() const;
46 bool pixelExhausted() const;
47 bool atEnd() const;
48
49 bool nextPixel();
50 bool nextChannel();
51
52 QRgb& pixel();
53 const QRgb& pixelConst() const;
54 quint64 index() const;
55 Channel channel() const;
56 quint8 channelValue() const;
57 quint8 red() const;
58 quint8 green() const;
59 quint8 blue() const;
60 quint8 alpha() const;
61};
62
64}
65
66#endif // PX_ACCESS_WRITE_H
The PxCrypt namespace is the main namespace through which all functionality of the PxCrypt library is...
Definition decode_error.cpp:5