PxCrypt
v0.2.2
Encrypt data within an image
Loading...
Searching...
No Matches
px_sequence_generator.h
1
#ifndef PX_SEQUENCE_GENERATOR_H
2
#define PX_SEQUENCE_GENERATOR_H
3
4
// Qt Includes
5
#include <QRandomGenerator>
6
#include <QSize>
7
#include <QPoint>
8
9
// Qx Includes
10
#include <qx/core/qx-freeindextracker.h>
11
12
namespace
PxCryptPrivate
13
{
14
15
class
PxSequenceGenerator
16
{
17
//-Inner Class------------------------------------------------------------------------------------------------------
18
public
:
19
class
State;
20
21
//-Instance Variables------------------------------------------------------------------------------------------------------
22
private
:
23
QByteArray
mSeed;
24
QRandomGenerator
mGenerator;
25
Qx::FreeIndexTracker mPixelTracker;
26
bool
mAtEnd;
27
28
//-Constructor---------------------------------------------------------------------------------------------------------
29
public
:
30
PxSequenceGenerator(
const
QSize
& dim,
const
QByteArray
& seed);
31
PxSequenceGenerator(
const
State& state);
32
33
//-Instance Functions----------------------------------------------------------------------------------------------
34
public
:
35
quint64 pixelCoverage()
const
;
36
quint64 pixelTotal()
const
;
37
State state()
const
;
38
39
qint64 next();
40
bool
atEnd()
const
;
41
42
//-Operators----------------------------------------------------------------------------------------------------------------
43
public
:
44
bool
operator==(
const
State& state)
const
;
45
};
46
47
class
PxSequenceGenerator::State
48
{
49
//-Instance Variables------------------------------------------------------------------------------------------------------
50
private
:
51
QByteArray
mSeed;
52
quint64 mStart;
53
quint64 mEnd;
54
quint64 mCoverage;
55
bool
mAtEnd;
56
57
//-Constructor-------------------------------------------------------------------------------------------------------------
58
public
:
59
State(
const
QByteArray
& seed, quint64 start, quint64 end, quint64 coverage,
bool
atEnd);
60
61
//-Instance Functions------------------------------------------------------------------------------------------------------
62
public
:
63
QByteArray
seed()
const
;
64
quint64 start()
const
;
65
quint64 end()
const
;
66
quint64 coverage()
const
;
67
bool
atEnd()
const
;
68
};
69
70
}
71
72
#endif
// PX_SEQUENCE_GENERATOR_H
QByteArray
QRandomGenerator
QSize
lib
src
medium_io
sequence
px_sequence_generator.h
Generated by
1.10.0