//
// PrinterCE's global user definitions for C++ and MFC apps 
//

// ScaleMode() settings
#define vbTwips				1
#define vbPoints			2
#define vbPixels			3	
#define vbInches			5
#define vbMillimeters		6
#define vbCentimeters		7
// PrDialogBox() Operation defs
#define vbDlgBoxDebugOn		-1
#define vbDlgBoxDebugOff	-2
#define vbDlgBoxUp			0	
#define vbDlgBoxDown		1
#define vbDlgBoxDisable		2
#define vbDlgBoxStatus		3
#define vbDlgBoxUserCancel	4
#define vbDlgBoxAbortError	5
#define vbDlgBoxUp_NotPersistent 6
// JustifyHoriz() & JustifyVert()
#define vbLeft				0
#define vbLeftJustify		0
#define vbRight				1
#define vbRightJustify		1
#define vbCenter			2
#define vbTop				0
#define vbTopJustify		0
#define vbBottom			1
#define vbBottomJustify		1
// StatusCheck() error levels
#define vbNoError			0
#define vbUserCancel		1
#define vbAbortOperation	2
#define vbAbortPrint		3
// SetErrorLevel()
#define vbErrLevelNone		0
#define vbErrLevelAll		1
#define vbErrLevelTask		2
#define vbErrLevelJob		3
// SetReportLevel()
#define vbReportErrors				0
#define vbNoReportErrors			1
#define vbReportSeriousErrors		2
#define vbNoReportErrorsSkipCancel	3
//Allow printing to continue with image error
#define BITFLAG_PRINTWITHIMAGEERR 0x1000

// FillStyle()
#define PicFSSolid			0
#define PicFSTransparent	1
// PageOrientation()
#define vbPortrait			1
#define vbLandscape			2
// PaperSelection()
#define vbLetter			1
#define vbA4				2
#define vbB5				3
#define vbLegal				4
#define vbCustom			5
// PrintQuality()
#define vbHigh				1
#define vbDraft				2
// Rotation()
#define vbNorth				0
#define vbEast				1
#define vbSouth				2
#define vbWest				3
// Capabilities() Bit values ORed together
#define CAPS_STD			0x01
#define CAPS_PLUS			0x02
#define CAPS_ASCII			0x04
#define CAPS_BARCODE		0x08
#define CAPS_ASCII2			0x10
#define CAPS_PRINTDC		0x20
//
//*********************
//	AsciiCE values
//*********************
//Define value for use if don't care setting
#define S_DONTCARE	0

// SelectPort() - Port parameter
#define PORT_PRINTERCE			-1		//Shared between AsciiCE and PrinterCE
#define PORT_COM1				 0 
#define PORT_COM2				 1
#define PORT_LPT				 2 
#define PORT_IR					 3
#define PORT_COM3			 	 4
#define PORT_COM4				 5
#define PORT_COM5				 6
#define PORT_COM6				 7
#define PORT_TOFILE				 8
#define PORT_NETPATH			 9
#define PORT_IP					10
#define PORT_SOCKETCOM			11
#define PORT_ANYCOM				12
#define PORT_COM7				13
#define PORT_COM8				14
#define PORT_COMPAQ				15
#define PORT_IPAQ				15
#define PORT_BELKIN				16
#define PORT_WIDCOMM			16		//PORT_BELKIN is identical to PORT_WIDCOMM
#define PORT_COM9				17
#define PORT_BTQUIKPRINT		18
#define PORT_BTQUICKPRINT		18
#define PORT_COM0				19
//--------------------------------
#define MAXPORTS				20


//Items for SetupPrinterOther() BitFlags field
#define BITFLAG_CMYONLY			0x08
#define BITFLAG_COLOR			0x04
#define BITFLAG_ALTERNATE_IR	0x02
#define BITFLAG_ADJUST_IR		0x01
#define BITFLAG_DRAFTMODE		0x80 
#define BITFLAG_SINGLETHREAD	0x40
// Following no longer used, but retained for existing code
#define BITFLAG_AUTOSPEED		0x01
#define BITFLAG_IRADJUST		0x02
//#define BITFLAG_OTHERIR			0x20
//Add special flag to allow SetupPrinter() so skip connecting to printer port
#define BITFLAG_SKIPCONNECT	0x8000



//*********************
//	AsciiCE2 values
//*********************
//ReadString()/ReadBuffer() "ModeFlags"
#define READMODE_NORMAL		0
#define READMODE_FLUSHZEROS	1

//ReadString()/ReadBuffer() "ResultFlags"
#define READRESULT_ERR			0
#define READRESULT_OK			1
#define READRESULT_FULLBUFFER	2
#define READRESULT_TIMEOUT		3
#define READRESULT_USERCANCEL	4


// SelectPort() - BaudRate parameter - for LPT or IR, just set to S_115200
#define S_4800				0
#define S_9600				1
#define S_19200				2
#define S_38400				3 
#define S_57600				4 
#define S_115200			5 
#define MAXBAUDS			6

// SelectPort() - Handshake parameter
#define SOFTWARE_HANDSHAKE		0
#define HARDWARE_HANDSHAKE		1
#define NO_HANDSHAKE			2 
#define HANDSHAKE_BITS			0x0003

//Set special hardware modes from AsciiCE2 - 
// ORed to SelectPortEx Handshake param
//HANDSHAKE_BITS are # of bits reserved to set handshake mode

#define SET_PARITY_NONE			0x0000
#define SET_PARITY_EVEN			0x0800
#define SET_PARITY_ODD			0x0400

#define SET_STOPBITS_ONE		0x0000
#define SET_STOPBITS_ONEANDHALF	0x0200
#define SET_STOPBITS_TWO		0x0100

#define SET_BYTESIZE_8			0x0000
#define SET_BYTESIZE_7			0x0080

#define SET_NO_DSR				0x0000
#define SET_USE_DSR				0x0040


//Printer Types
#define PR_CANONBJ				 0
#define PR_CITIZEN_PD04			 1
#define PR_CITIZEN_PN60			 2
#define PR_EPSON_ESCP2			 3
#define PR_EPSON_STYLUS			 4
#define PR_HP_PCL				 5
#define PR_PENTAX_200			 6
#define PR_PENTAX_300			 7
#define PR_SEIKO3445			 8
#define PR_GENERIC24_180		 9
#define PR_GENERIC24_360		10
#define PR_GENERIC24_203		11
#define PR_EXTECH_2				12
#define PR_EXTECH_3				13
#define PR_ONEIL				14
#define PR_DATAMAX_ONEIL		14
#define PR_DYMO					15
#define PR_DYMOCOSTAR			15
#define PR_SEIKOLABELWRITER		16
#define PR_EXTECH_4				17
#define PR_DATAMAX_APEX			17
#define PR_SIPIX				18
#define PR_CITIZEN_203			19
#define PR_ZEBRA				20
#define PR_BROTHER				21
#define PR_CANONBJ300			22
#define PR_CITIZEN_PD22			23
#define PR_PP50					25
#define PR_CITIZEN_CMP10		26
#define PR_OMNI					27
#define PR_SEIKO_L465			28
#define PR_SPRINT				29
#define PR_FUJITSU				30
#define PR_EPSON_TM_P60			31
#define PR_INTERMEC				32
#define PR_ABLE_AP1300			33
#define PR_AXIOHM_A631			34
#define PR_ELTRADE				35
#define PR_PP55					36
#define PR_CANONBJ600			37
#define PR_TALLY_MTP4			38
#define PR_TALLY_MIP360			39
#define PR_GEBE					40
#define PR_SATO					41
#define PR_POCKETSPECTRUM		42
#define PR_PANASONIC_JTH200PR	43
#define PR_NOMAD				46
#define PR_PENTAXRUGGEDJET		47
#define PR_MARTEL				48
#define PR_INTERMECPB			49
#define PR_INTERMEC_FINGERPRINT	52
#define PR_BROTHER_PJ6			53
#define PR_BROTHER_PJ6plus		54
#define PR_BROTHER_PJ3			 6
#define PR_BROTHER_PJ3plus		 7
#define PR_BROTHER_RUGGEDJET	55
#define MAX_PRDRIVERS			58

//FormFeed mode - Only valid for PrinterCE Plus using Custom Printer driver
#define FFEED_NORMAL		0
#define FFEED_PAPERHT		1
#define FFEED_SCROLL		2
//Print Density - Only valid for PrinterCE Plus using Custom Printer driver
#define DENSITY_EXTRALIGHT	0
#define DENSITY_LIGHTER		1
#define DENSITY_NORMAL		2
#define DENSITY_DARKER		3
#define DENSITY_EXTRADARK	4
//AdjustIR mode - Only valid for PrinterCE Plus using Custom Printer driver
#define ADJUST_IR_OFF		0
#define ADJUST_IR_ON		1
//Compressed mode - Only valid for PrinterCE Plus using Custom Printer driver
#define COMPRESSED_OFF		0
#define COMPRESSED_ON		1
//Dither mode - Only valid for PrinterCE Plus using Custom Printer driver
#define DITHER_OFF			0
#define DITHER_ON			1
//Draft mode - Only valid for PrinterCE Plus using Custom Printer driver
#define DRAFTMODE_OFF		0
#define DRAFTMODE_ON		1
//
//*********************
//	BarCodeCE values
//*********************
// GetBarCodeHeight()
#define BC_UPCEAN				0
#define BC_MSI					1
#define BC_Code93				2
#define BC_Code128				3
#define BC_Codabar				4
#define BC_Code39				5
#define BC_Code2of5				6
#define BC_Postnet				7
//Draw2of5()
#define TYPE2of5_BASE			0
#define TYPE2of5_CHECKSUM		1
// DrawCode39()
#define TYPE39_NORMAL			0
#define TYPE39_CHECKSUM			1
#define TYPE39_HIBC				2
// DrawCode128()
#define TYPE128_AUTO			0
#define TYPE128_UCC128			1
// DrawCodabar()
#define TYPECodabar_BASE		0
#define TYPECodabar_CHECKSUM16	1
// DrawMSI()
#define TYPEMSI_Mod10			0
#define TYPEMSI_Mod1010			1
#define TYPEMSI_Mod1110			2
// DrawUPC() type selection
#define TYPE_UPC_A				0
#define TYPE_UPC_E				1
#define TYPE_UPC_EAN8			2
#define TYPE_UPC_EAN13			3
// DrawUPC() supplementals
#define TYPE_UPC_NOEXTRA		0
#define TYPE_UPC_2EXTRA			2
#define TYPE_UPC_5EXTRA			5
// Barcode "fit" constants
#define bcTIGHT					0
#define bcMEDIUM				1
#define bcLOOSE					2
#define bcTIGHTminus1			3
//Barcode "resize" percentage - vertically
#define bcVResize_95			0x5F00
#define bcVResize_90			0x5A00
#define bcVResize_85			0x5500
#define bcVResize_80			0x5000
#define bcVResize_75			0x4B00
#define bcVResize_70			0x4600
#define bcVResize_65			0x4100
#define bcVResize_60			0x3C00
#define bcVResize_55			0x3700
#define bcVResize_50			0x3200

  //Barcode point size override
#define bcFontSize_NoText		0x00
#define bcFontSize_DefaultSize	0x01
#define bcFontSize_04			0x04
#define bcFontSize_05			0x05
#define bcFontSize_06			0x06
#define bcFontSize_07			0x07
#define bcFontSize_08			0x08
#define bcFontSize_09			0x09
#define bcFontSize_10			0x0A
#define bcFontSize_11			0x0B
#define bcFontSize_12			0x0C
#define bcFontSize_13			0x0D
#define bcFontSize_14			0x0E
#define bcFontSize_15			0x0F
#define bcFontSize_16			0x10

// Deprecated - NO LONGER SUPPORTED
// DrawStyle()
#define vbSolid				0
#define vbDash				1



#define PICT_STRETCH			0
#define PICT_KEEPASPECT			1
#define PICT_GETDIMS			2

//*********************
//	General definitions
//*********************
//  Base colors
#define vbWhite			RGB(0xFF,0xFF,0xFF)
#define vbBlack			RGB(0,0,0)
#define vbLightGray		RGB(0xC0,0xC0,0xC0)
#define vbMediumGray	RGB(0x60,0x60,0x60)
#define vbDarkGray		RGB(0x10,0x10,0x10)

#define vbLineBox		1
#define vbLineBoxFill	2

