PxCrypt v0.2.2
Encrypt data within an image
Loading...
Searching...
No Matches
canvas_traverser_prime.h
1#ifndef CANVAS_TRAVERSER_PRIME_H
2#define CANVAS_TRAVERSER_PRIME_H
3
4// Project Includes
5#include "medium_io/sequence/px_sequence_generator.h"
6#include "medium_io/sequence/ch_sequence_generator.h"
7
8namespace PxCryptPrivate
9{
10
11class CanvasTraverserPrime
12{
13//-Instance Variables------------------------------------------------------------------------------------------------------
14private:
15 std::unique_ptr<PxSequenceGenerator> mPxSequence;
16 std::unique_ptr<ChSequenceGenerator> mChSequence;
17
18 qint64 mCurrentIndex;
19 Channel mCurrentChannel;
20
21//-Constructor---------------------------------------------------------------------------------------------------------
22public:
23 CanvasTraverserPrime(const QImage& image, const QByteArray& seed);
24
25//-Instance Functions----------------------------------------------------------------------------------------------
26private:
27 void advancePixel();
28
29public:
30 qint64 pixelIndex() const;
31 Channel channel() const;
32 void nextChannel();
33
34 std::unique_ptr<PxSequenceGenerator> surrenderPxSequence();
35 std::unique_ptr<ChSequenceGenerator> surrenderChSequence();
36};
37
38}
39
40#endif // CANVAS_TRAVERSER_PRIME_H