//
//  SIIPrinterEnum.h
//  SIIPrinterManager
//

#ifndef SIIPrinterManager_SIIPrinterEnum_h
#define SIIPrinterManager_SIIPrinterEnum_h

typedef NS_ENUM(NSInteger, CharacterBold)
{
    SII_PM_BOLD_CANCEL,
    SII_PM_BOLD
};

typedef NS_ENUM(NSInteger, CharacterUnderline)
{
    SII_PM_UNDERLINE_CANCEL,
    SII_PM_UNDERLINE_1,
    SII_PM_UNDERLINE_2
};

typedef NS_ENUM(NSInteger, CharacterReverse)
{
    SII_PM_REVERSE_CANCEL,
    SII_PM_REVERSE
};

typedef NS_ENUM(NSInteger, CharacterInversion)
{
    SII_PM_INVERSION_CANCEL,
    SII_PM_INVERSION
};

typedef NS_ENUM(NSInteger, CharacterFont)
{
    SII_PM_FONT_A,
    SII_PM_FONT_B
};

typedef NS_ENUM(NSInteger, CharacterScale)
{
    SII_PM_VARTICAL_1_HORIZONTAL_1 = 0,
    SII_PM_VARTICAL_1_HORIZONTAL_2 = 16,
    SII_PM_VARTICAL_1_HORIZONTAL_3 = 32,
    SII_PM_VARTICAL_1_HORIZONTAL_4 = 48,
    SII_PM_VARTICAL_2_HORIZONTAL_1 = 1,
    SII_PM_VARTICAL_2_HORIZONTAL_2 = 17,
    SII_PM_VARTICAL_2_HORIZONTAL_3 = 33,
    SII_PM_VARTICAL_2_HORIZONTAL_4 = 49,
    SII_PM_VARTICAL_2_HORIZONTAL_6 = 81,
    SII_PM_VARTICAL_3_HORIZONTAL_1 = 2,
    SII_PM_VARTICAL_3_HORIZONTAL_2 = 18,
    SII_PM_VARTICAL_3_HORIZONTAL_3 = 34,
    SII_PM_VARTICAL_3_HORIZONTAL_4 = 50,
    SII_PM_VARTICAL_4_HORIZONTAL_1 = 3,
    SII_PM_VARTICAL_4_HORIZONTAL_2 = 19,
    SII_PM_VARTICAL_4_HORIZONTAL_3 = 35,
    SII_PM_VARTICAL_4_HORIZONTAL_4 = 51,
    SII_PM_VARTICAL_4_HORIZONTAL_6 = 83,
    SII_PM_VARTICAL_4_HORIZONTAL_8 = 115,
    SII_PM_VARTICAL_6_HORIZONTAL_2 = 21,
    SII_PM_VARTICAL_6_HORIZONTAL_4 = 53,
    SII_PM_VARTICAL_6_HORIZONTAL_6 = 85,
    SII_PM_VARTICAL_6_HORIZONTAL_8 = 117,
    SII_PM_VARTICAL_8_HORIZONTAL_4 = 55,
    SII_PM_VARTICAL_8_HORIZONTAL_6 = 87,
    SII_PM_VARTICAL_8_HORIZONTAL_8 = 119
};

typedef NS_ENUM(NSInteger, PrintAlignment)
{
    SII_PM_ALIGNMENT_LEFT,
    SII_PM_ALIGNMENT_CENTER,
    SII_PM_ALIGNMENT_RIGHT
};

typedef NS_ENUM(NSInteger, BarcodeSymbol)
{
    SII_PM_BARCODE_UPC_A,
    SII_PM_BARCODE_UPC_E,
    SII_PM_BARCODE_EAN13,
    SII_PM_BARCODE_JAN13 = 2,
    SII_PM_BARCODE_EAN8,
    SII_PM_BARCODE_JAN8 = 3,
    SII_PM_BARCODE_CODE39,
    SII_PM_BARCODE_CODE93 = 72,
    SII_PM_BARCODE_CODE128,
    SII_PM_BARCODE_ITF = 5,
    SII_PM_BARCODE_CODABAR,
    SII_PM_BARCODE_EAN13_ADDON = 22,
    SII_PM_BARCODE_JAN13_ADDON = 22,
    SII_PM_BARCODE_GS1_OMNI_DIRECTIONAL = 75,
    SII_PM_BARCODE_GS1_TRUNCATED = 76,
    SII_PM_BARCODE_GS1_LIMITED = 77,
    SII_PM_BARCODE_GS1_EXPANDED = 78,
    SII_PM_BARCODE_CUSTOMER_BAR_CODE_JP = 15
};

typedef NS_ENUM(NSInteger, ModuleSize)
{
    SII_PM_BARCODE_MODULE_WIDTH_2 = 2,
    SII_PM_BARCODE_MODULE_WIDTH_3,
    SII_PM_BARCODE_MODULE_WIDTH_4,
    SII_PM_BARCODE_MODULE_WIDTH_5,
    SII_PM_BARCODE_MODULE_WIDTH_6,
    SII_PM_QR_MODULE_SIZE_2 = 2,
    SII_PM_QR_MODULE_SIZE_3,
    SII_PM_QR_MODULE_SIZE_4,
    SII_PM_QR_MODULE_SIZE_5,
    SII_PM_QR_MODULE_SIZE_6,
    SII_PM_QR_MODULE_SIZE_7,
    SII_PM_QR_MODULE_SIZE_8,
    SII_PM_QR_MODULE_SIZE_9,
    SII_PM_QR_MODULE_SIZE_10,
    SII_PM_QR_MODULE_SIZE_11,
    SII_PM_QR_MODULE_SIZE_12,
    SII_PM_QR_MODULE_SIZE_13,
    SII_PM_QR_MODULE_SIZE_14,
    SII_PM_QR_MODULE_SIZE_15,
    SII_PM_QR_MODULE_SIZE_16,
    SII_PM_PDF417_MODULE_WIDTH_2 = 2,
    SII_PM_PDF417_MODULE_WIDTH_3,
    SII_PM_PDF417_MODULE_WIDTH_4,
    SII_PM_PDF417_MODULE_WIDTH_5,
    SII_PM_PDF417_MODULE_WIDTH_6,
    SII_PM_PDF417_MODULE_WIDTH_7,
    SII_PM_PDF417_MODULE_WIDTH_8,
    SII_PM_DATAMATRIX_MODULE_SIZE_2 = 2,
    SII_PM_DATAMATRIX_MODULE_SIZE_3,
    SII_PM_DATAMATRIX_MODULE_SIZE_4,
    SII_PM_DATAMATRIX_MODULE_SIZE_5,
    SII_PM_DATAMATRIX_MODULE_SIZE_6,
    SII_PM_DATAMATRIX_MODULE_SIZE_7,
    SII_PM_DATAMATRIX_MODULE_SIZE_8,
    SII_PM_DATAMATRIX_MODULE_SIZE_9,
    SII_PM_DATAMATRIX_MODULE_SIZE_10,
    SII_PM_DATAMATRIX_MODULE_SIZE_11,
    SII_PM_DATAMATRIX_MODULE_SIZE_12,
    SII_PM_DATAMATRIX_MODULE_SIZE_13,
    SII_PM_DATAMATRIX_MODULE_SIZE_14,
    SII_PM_DATAMATRIX_MODULE_SIZE_15,
    SII_PM_DATAMATRIX_MODULE_SIZE_16,
    SII_PM_GS1DATABAR_MODULE_SIZE_2 = 2,
    SII_PM_GS1DATABAR_MODULE_SIZE_3,
    SII_PM_GS1DATABAR_MODULE_SIZE_4,
    SII_PM_GS1DATABAR_MODULE_SIZE_5,
    SII_PM_GS1DATABAR_MODULE_SIZE_6,
    SII_PM_GS1DATABAR_MODULE_SIZE_7,
    SII_PM_GS1DATABAR_MODULE_SIZE_8,
    SII_PM_GS1DATABAR_MODULE_SIZE_9,
    SII_PM_GS1DATABAR_MODULE_SIZE_10,
    SII_PM_GS1DATABAR_MODULE_SIZE_11,
    SII_PM_GS1DATABAR_MODULE_SIZE_12,
    SII_PM_GS1DATABAR_MODULE_SIZE_13,
    SII_PM_GS1DATABAR_MODULE_SIZE_14,
    SII_PM_GS1DATABAR_MODULE_SIZE_15,
    SII_PM_GS1DATABAR_MODULE_SIZE_16,
    SII_PM_AZTECCODE_MODULE_SIZE_2 = 2,
    SII_PM_AZTECCODE_MODULE_SIZE_3,
    SII_PM_AZTECCODE_MODULE_SIZE_4,
    SII_PM_AZTECCODE_MODULE_SIZE_5,
    SII_PM_AZTECCODE_MODULE_SIZE_6,
    SII_PM_AZTECCODE_MODULE_SIZE_7,
    SII_PM_AZTECCODE_MODULE_SIZE_8,
    SII_PM_AZTECCODE_MODULE_SIZE_9,
    SII_PM_AZTECCODE_MODULE_SIZE_10,
    SII_PM_AZTECCODE_MODULE_SIZE_11,
    SII_PM_AZTECCODE_MODULE_SIZE_12,
    SII_PM_AZTECCODE_MODULE_SIZE_13,
    SII_PM_AZTECCODE_MODULE_SIZE_14,
    SII_PM_AZTECCODE_MODULE_SIZE_15,
    SII_PM_AZTECCODE_MODULE_SIZE_16,
    SII_PM_CUSTOMERBARCODEJP_MODULE_4 = 4,
    SII_PM_CUSTOMERBARCODEJP_MODULE_5,
    SII_PM_CUSTOMERBARCODEJP_MODULE_6,
    SII_PM_CUSTOMERBARCODEJP_MODULE_7,
    SII_PM_CUSTOMERBARCODEJP_MODULE_8,
    SII_PM_CUSTOMERBARCODEJP_MODULE_9,
    SII_PM_CUSTOMERBARCODEJP_MODULE_10,
};

typedef NS_ENUM(NSInteger, DataMatrixModule)
{
    SII_PM_DATA_MATRIX_AUTO,
    SII_PM_DATA_MATRIX_10_10,
    SII_PM_DATA_MATRIX_12_12,
    SII_PM_DATA_MATRIX_14_14,
    SII_PM_DATA_MATRIX_16_16,
    SII_PM_DATA_MATRIX_18_18,
    SII_PM_DATA_MATRIX_20_20,
    SII_PM_DATA_MATRIX_22_22,
    SII_PM_DATA_MATRIX_24_24,
    SII_PM_DATA_MATRIX_26_26,
    SII_PM_DATA_MATRIX_32_32,
    SII_PM_DATA_MATRIX_36_36,
    SII_PM_DATA_MATRIX_40_40,
    SII_PM_DATA_MATRIX_44_44,
    SII_PM_DATA_MATRIX_48_48,
    SII_PM_DATA_MATRIX_52_52,
    SII_PM_DATA_MATRIX_64_64,
    SII_PM_DATA_MATRIX_72_72,
    SII_PM_DATA_MATRIX_80_80,
    SII_PM_DATA_MATRIX_88_88,
    SII_PM_DATA_MATRIX_96_96,
    SII_PM_DATA_MATRIX_104_104,
    SII_PM_DATA_MATRIX_120_120,
    SII_PM_DATA_MATRIX_132_132,
    SII_PM_DATA_MATRIX_144_144,
    SII_PM_DATA_MATRIX_8_18,
    SII_PM_DATA_MATRIX_8_32,
    SII_PM_DATA_MATRIX_12_26,
    SII_PM_DATA_MATRIX_12_36,
    SII_PM_DATA_MATRIX_16_36,
    SII_PM_DATA_MATRIX_16_48,
};

typedef NS_ENUM(NSInteger, MaxiCodeMode)
{
    SII_PM_MAXI_CODE_2,
    SII_PM_MAXI_CODE_3,
    SII_PM_MAXI_CODE_4,
    SII_PM_MAXI_CODE_5,
};

typedef NS_ENUM(NSInteger, HriPosition)
{
    SII_PM_HRI_NONE,
    SII_PM_HRI_POSITION_ABOVE,
    SII_PM_HRI_POSITION_BELOW,
    SII_PM_HRI_POSITION_ABOVE_BELOW
};

typedef NS_ENUM(NSInteger, NwRatio)
{
    SII_PM_BARCODE_WIDE_WIDTH_1 = 1,
    SII_PM_BARCODE_WIDE_WIDTH_2,
    SII_PM_BARCODE_WIDE_WIDTH_3,
    SII_PM_BARCODE_WIDE_WIDTH_4,
    SII_PM_NWRATIO_1TO2 = 11,
    SII_PM_NWRATIO_1TO2_5,
    SII_PM_NWRATIO_1TO3
};

typedef NS_ENUM(NSInteger, ErrorCorrection)
{
    SII_PM_QR_ERROR_CORRECTION_L = 76,
    SII_PM_QR_ERROR_CORRECTION_M,
    SII_PM_QR_ERROR_CORRECTION_Q = 81,
    SII_PM_QR_ERROR_CORRECTION_H = 72,
    SII_PM_PDF417_ERROR_CORRECTION_0 = 0,
    SII_PM_PDF417_ERROR_CORRECTION_1,
    SII_PM_PDF417_ERROR_CORRECTION_2,
    SII_PM_PDF417_ERROR_CORRECTION_3,
    SII_PM_PDF417_ERROR_CORRECTION_4,
    SII_PM_PDF417_ERROR_CORRECTION_5,
    SII_PM_PDF417_ERROR_CORRECTION_6,
    SII_PM_PDF417_ERROR_CORRECTION_7,
    SII_PM_PDF417_ERROR_CORRECTION_8
};

typedef NS_ENUM(NSInteger, QrModel)
{
    SII_PM_QR_MODEL_1 = 1,
    SII_PM_QR_MODEL_2
};

typedef NS_ENUM(NSInteger, Pdf417Symbol)
{
    SII_PM_PDF417_STANDARD = 0,
    SII_PM_PDF417_COMPACT
};

typedef NS_ENUM(NSInteger, CuttingMethod)
{
    SII_PM_CUT_NONE = 0,
    SII_PM_CUT_FULL_NO_FEED = 48,
    SII_PM_CUT_PARTIAL_NO_FEED,
    SII_PM_CUT_FULL = 65,
    SII_PM_CUT_PARTIAL
};

typedef NS_ENUM(NSInteger, DrawerNum)
{
    SII_PM_DRAWER_1 = 1,
    SII_PM_DRAWER_2
};

typedef NS_ENUM(NSInteger, PulseWidth)
{
    SII_PM_ON_OFF_TIME_100 = 1,
    SII_PM_ON_OFF_TIME_200,
    SII_PM_ON_OFF_TIME_300,
    SII_PM_ON_OFF_TIME_400,
    SII_PM_ON_OFF_TIME_500,
    SII_PM_ON_OFF_TIME_600,
    SII_PM_ON_OFF_TIME_700,
    SII_PM_ON_OFF_TIME_800
};

typedef NS_ENUM(NSInteger, Dithering)
{
    SII_PM_DITHERING_DISABLE = 0,
    SII_PM_DITHERING_ERRORDIFFUSION
};

typedef NS_ENUM(NSInteger, TransactionFunction)
{
    SII_PM_TRANSACTION_CLEAR,
    SII_PM_TRANSACTION_START,
    SII_PM_TRANSACTION_PRINT
};

typedef NS_ENUM(NSInteger, BuzzerPattern)
{
    SII_PM_BUZZER_PATTERN_1,
    SII_PM_BUZZER_PATTERN_2,
    SII_PM_BUZZER_PATTERN_3,
    SII_PM_BUZZER_PATTERN_4
};

typedef NS_ENUM(NSInteger, MemoryArea)
{
    SII_PM_MEMORY_DISPLAY_USERMEMORY
};

typedef NS_ENUM(NSInteger, RegisteredFont)
{
    SII_PM_FONT_STANDARD,
    SII_PM_FONT_OPTION
};

typedef NS_ENUM(NSInteger, QrDataMode)
{
    SII_PM_QRDATAMODE_NUMERIC,
    SII_PM_QRDATAMODE_ALPHANUMERIC,
    SII_PM_QRDATAMODE_8BITBYTE,
    SII_PM_QRDATAMODE_KANJI,
    SII_PM_QRDATAMODE_MIXTURE
};

typedef NS_ENUM(NSInteger, QrQuietZone)
{
    SII_PM_QRQUIETZONE_EXIST,
    SII_PM_QRQUIETZONE_NONE
};

typedef NS_ENUM(NSInteger, Direction)
{
    SII_PM_DIRECTION_LEFT_TO_RIGHT,
    SII_PM_DIRECTION_BOTTOM_TO_TOP,
    SII_PM_DIRECTION_RIGHT_TO_LEFT,
    SII_PM_DIRECTION_TOP_TO_BOTTOM
};

typedef NS_ENUM(NSInteger, LineStyle)
{
    SII_PM_LINESTYLE_THIN,
    SII_PM_LINESTYLE_MEDIUM,
    SII_PM_LINESTYLE_THICK
};

typedef NS_ENUM(NSInteger, MacroRegistrationFunction)
{
    SII_PM_MACRO_REGISTRATION_START,
    SII_PM_MACRO_REGISTRATION_REGIST,
    SII_PM_MACRO_REGISTRATION_CLEAR
};

typedef NS_ENUM(NSInteger, AztecSymbol)
{
    SII_PM_AZTECCODE_FULLRANGE,
    SII_PM_AZTECCODE_COMPACT
};

typedef NS_ENUM(NSInteger, FeedPosition)
{
    SII_PM_FEED_CUTTER,
    SII_PM_FEED_NEXT_TOF
};

typedef NS_ENUM(NSInteger, Rotate)
{
    SII_PM_ROTATE_NONE = 0,
//    SII_PM_ROTATE_90_TO_RIGHT,
    SII_PM_ROTATE_180 = 2,
//    SII_PM_ROTATE_90_TO_LEFT,
};

typedef NS_ENUM(NSInteger, ImageScale)
{
    SII_PM_IMAGE_SCALE_NONE = 0,
//    SII_PM_IMAGE_SCALE_AUTO_FIT,
//    SII_PM_IMAGE_SCALE_WIDTH_REDUCTION,
    SII_PM_IMAGE_SCALE_WIDTH_FIT = 3,
//    SII_PM_IMAGE_SCALE_HEIGHT_REDUCTION,
//    SII_PM_IMAGE_SCALE_HEIGHT_FIT,
};

#endif

