summaryrefslogtreecommitdiffstats
path: root/kbarcode/gnubarcode.h
diff options
context:
space:
mode:
Diffstat (limited to 'kbarcode/gnubarcode.h')
-rw-r--r--kbarcode/gnubarcode.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/kbarcode/gnubarcode.h b/kbarcode/gnubarcode.h
new file mode 100644
index 0000000..afdec8e
--- /dev/null
+++ b/kbarcode/gnubarcode.h
@@ -0,0 +1,75 @@
+/***************************************************************************
+ gnubarcode.h - description
+ -------------------
+ begin :
+ copyright : (C) 2005 by Dominik Seichter
+ email : domseichter@web.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef GNU_BARCODE_H
+#define GNU_BARCODE_H
+
+// #define _ENABLE_NATIVE_GNU_BARCODE
+
+#ifdef _ENABLE_NATIVE_GNU_BARCODE
+
+#include "barkodeengine.h"
+
+struct Barcode_Item;
+
+class GnuBarcode : public BarkodeEngine {
+ public:
+ GnuBarcode();
+ ~GnuBarcode();
+
+ inline EEngine engine() const;
+
+ const QSize size() const;
+ void update( const QPaintDevice* device );
+ void drawBarcode( QPainter & painter, int x, int y );
+
+ private:
+ /** Draws the barcodes bars if @p painter is not 0.
+ * Otherwise only the required width is returned.
+ */
+ int drawBars( QPainter* painter, int x, int y );
+
+ /** Draws the text if @p painter is not 0.
+ * Otherwise only the required width is returned.
+ */
+ int drawText( QPainter* painter, int x, int y );
+
+ /** Fill m_size with the needed space
+ */
+ void setupSize();
+
+ private:
+ int m_bar_height;
+ int m_barcode_height;
+ int m_font_size;
+
+ double m_scalex;
+ double m_scaley;
+ double m_scale_ps_x;
+ double m_scale_ps_y;
+
+ Barcode_Item* m_item;
+ QSize m_size;
+};
+
+EEngine GnuBarcode::engine() const
+{
+ return GNU_BARCODE;
+}
+
+#endif // _ENABLE_NATIVE_GNU_BARCODE
+#endif /* GNU_BARCODE_H */