Prison

aztecbarcode.h
1 /*
2  SPDX-FileCopyrightText: 2017 Volker Krause <[email protected]>
3 
4  SPDX-License-Identifier: MIT
5 */
6 
7 #ifndef PRISON_AZTECBARCODE_H
8 #define PRISON_AZTECBARCODE_H
9 
10 #include "abstractbarcode.h"
11 
12 class AztecBarcodeTest;
13 
14 namespace Prison
15 {
16 class BitVector;
17 
18 /** Aztec code generator. */
20 {
21 public:
22  AztecBarcode();
23  ~AztecBarcode() override;
24 
25 protected:
26  QImage paintImage(const QSizeF &size) override;
27 
28 private:
29  friend class ::AztecBarcodeTest;
30 
31  BitVector aztecEncode(const QByteArray &data) const;
32  BitVector bitStuffAndPad(const BitVector &input, int codeWordSize) const;
33 
34  void paintFullGrid(QImage *img) const;
35  void paintFullData(QImage *img, const BitVector &data, int layerCount) const;
36  void paintFullModeMessage(QImage *img, const BitVector &modeData) const;
37  QImage cropAndScaleFull(QImage *img, int layerCount);
38 
39  void paintCompactGrid(QImage *img) const;
40  void paintCompactData(QImage *img, const BitVector &data, int layerCount) const;
41  void paintCompactModeMessage(QImage *img, const BitVector &modeData) const;
42  QImage cropAndScaleCompact(QImage *img, int layerCount);
43 };
44 
45 }
46 
47 #endif // PRISON_AZTECCODE_H
QImage paintImage(const QSizeF &size) override
Doing the actual painting of the image.
base class for barcode generators To add your own barcode generator, subclass this class and reimplem...
Aztec code generator.
Definition: aztecbarcode.h:19
QString data() const
Textual content encoded in this barcode.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Fri Dec 1 2023 04:09:13 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.