Commit 30793c63 authored by Andrey's avatar Andrey

8 text sizes for height and width

parent 35f1a446
...@@ -11,6 +11,8 @@ main() { ...@@ -11,6 +11,8 @@ main() {
printer.println('Align left', align: PosTextAlign.left); printer.println('Align left', align: PosTextAlign.left);
printer.println('Align center', align: PosTextAlign.center); printer.println('Align center', align: PosTextAlign.center);
printer.println('Align right', align: PosTextAlign.right); printer.println('Align right', align: PosTextAlign.right);
printer.println('Text size 2',
height: PosTextSize.size2, width: PosTextSize.size2);
printer.cut(); printer.cut();
......
...@@ -5,18 +5,20 @@ import 'commands.dart'; ...@@ -5,18 +5,20 @@ import 'commands.dart';
enum PosTextAlign { left, center, right } enum PosTextAlign { left, center, right }
enum PosCutMode { normal, partial, full } enum PosCutMode { normal, partial, full }
class PosTextSizeHeight { class PosTextSize {
final value; final int value;
const PosTextSizeHeight._internal(this.value); const PosTextSize._internal(this.value);
static const normal = const PosTextSizeHeight._internal(0x00); static const size1 = const PosTextSize._internal(1);
static const double = const PosTextSizeHeight._internal(0x10); static const size2 = const PosTextSize._internal(2);
} static const size3 = const PosTextSize._internal(3);
static const size4 = const PosTextSize._internal(4);
static const size5 = const PosTextSize._internal(5);
static const size6 = const PosTextSize._internal(6);
static const size7 = const PosTextSize._internal(7);
static const size8 = const PosTextSize._internal(8);
class PosTextSizeWidth { static int decSize(PosTextSize height, PosTextSize width) =>
final value; 16 * (width.value - 1) + (height.value - 1);
const PosTextSizeWidth._internal(this.value);
static const normal = const PosTextSizeWidth._internal(0x00);
static const double = const PosTextSizeWidth._internal(0x20);
} }
/// Abstract printer. /// Abstract printer.
...@@ -62,8 +64,8 @@ class Printer { ...@@ -62,8 +64,8 @@ class Printer {
bool reverse = false, bool reverse = false,
bool underline = false, bool underline = false,
PosTextAlign align = PosTextAlign.left, PosTextAlign align = PosTextAlign.left,
PosTextSizeHeight height = PosTextSizeHeight.normal, PosTextSize height = PosTextSize.size1,
PosTextSizeWidth width = PosTextSizeWidth.normal, PosTextSize width = PosTextSize.size1,
int linesAfter = 0, int linesAfter = 0,
}) { }) {
_socket.write(bold ? cBoldOn : cBoldOff); _socket.write(bold ? cBoldOn : cBoldOff);
...@@ -73,10 +75,10 @@ class Printer { ...@@ -73,10 +75,10 @@ class Printer {
? cAlignLeft ? cAlignLeft
: (align == PosTextAlign.center ? cAlignCenter : cAlignRight)); : (align == PosTextAlign.center ? cAlignCenter : cAlignRight));
// Font size // Text size
_socket.add( _socket.add(
Uint8List.fromList( Uint8List.fromList(
List.from(cSizeESCn.codeUnits)..add(height.value + width.value), List.from(cSizeGSn.codeUnits)..add(PosTextSize.decSize(height, width)),
), ),
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment