2178 lines
77 KiB
C
2178 lines
77 KiB
C
#pragma once
|
|
|
|
/*
|
|
* Device List Option
|
|
*/
|
|
#define SMART70_DEVICELIST_USB 0x01
|
|
#define SMART70_DEVICELIST_NET 0x02
|
|
#define SMART70_DEVICELIST_ALL (SMART70_DEVICELIST_USB | SMART70_DEVICELIST_NET)
|
|
|
|
|
|
/*
|
|
* Device Name
|
|
*/
|
|
#define SMART70_OPENDEVICE_BYID 0
|
|
#define SMART70_OPENDEVICE_BYDESC 1
|
|
|
|
|
|
/*
|
|
* Page / Panel
|
|
*/
|
|
#define PAGE_P1FRONT 0
|
|
#define PAGE_P1BACK 1
|
|
#define PAGE_P2FRONT 2
|
|
#define PAGE_P2BACK 3
|
|
#define PAGE_MAX 4
|
|
#define PANEL_COLOR 1
|
|
#define PANEL_BLACK 2
|
|
#define PANEL_OVERLAY 4
|
|
#define PANEL_UV 8
|
|
|
|
|
|
/*
|
|
* Contactless-PCSC : Auth Side
|
|
*/
|
|
#define PCSC_MIFARE_AUTH1A 0x60 // authentication with Mifare key A
|
|
#define PCSC_MIFARE_AUTH1B 0x61 // authentication with Mifare key B
|
|
|
|
/*
|
|
* Contactless-DUALi : Mifare Side
|
|
*/
|
|
#define DUALI_MIFARE_SIDEA 0x00 // Mifare key A on DUALi
|
|
#define DUALI_MIFARE_SIDEB 0x04 // Mifare key B on DUALi
|
|
|
|
|
|
/*
|
|
* Device
|
|
*/
|
|
#define INTERNALDEV 1 // internal device (IC, RF)
|
|
#define EXTERNALDEV 2 // external device (SIM, RF)
|
|
|
|
|
|
|
|
/*
|
|
* Simple State Code Definition.
|
|
*/
|
|
|
|
// Action Result
|
|
#define SS_ACT_SUCCESS 0x00
|
|
#define SS_ACT_FAIL 0x01
|
|
#define SS_ACT_RESULT 0x01 // mask
|
|
|
|
// Action State
|
|
#define SS_ACT_IDLE 0x00
|
|
#define SS_ACT_RUN 0x02
|
|
#define SS_ACT_STATE 0x02 // mask
|
|
|
|
// Card State
|
|
#define SS_CARD_ABSENT 0x00
|
|
#define SS_CARD_EXIST 0x04
|
|
#define SS_CARD_STATE 0x04 // mask
|
|
|
|
#define SS_INIT 0x08
|
|
|
|
// Command State
|
|
#define SS_CMD_IDLE 0x00
|
|
#define SS_CMD_RUN 0x10
|
|
#define SS_CMD_STATE 0x10 // mask
|
|
|
|
// Command Result
|
|
#define SS_CMD_SUCCESS 0x00
|
|
#define SS_CMD_FAIL 0x20
|
|
#define SS_CMD_RESULT 0x20 // mask
|
|
|
|
|
|
|
|
/*
|
|
* SMART Printer Status Code Definition.
|
|
*/
|
|
|
|
// SMART-70 PRINTER STATUS
|
|
|
|
#define S7PS_M_SBSRUNNING 0x0000000000000001 // SBS(Step by Step) 명령 수행 중
|
|
#define S7PS_M_CARDMOVE 0x0000000000000002 // 인쇄위치 이동 중
|
|
#define S7PS_M_CARDIN 0x0000000000000004 // 카드 흡입 중
|
|
#define S7PS_M_CARDOUT 0x0000000000000008 // 카드 배출 중
|
|
#define S7PS_M_THEAD 0x0000000000000010 // 써멀 헤드 업/다운 중
|
|
#define S7PS_M_SEEKRIBBON 0x0000000000000020 // 리본 찾는 중
|
|
#define S7PS_M_MOVERIBBON 0x0000000000000040 // 리본 이동 중
|
|
#define S7PS_M_PRINT 0x0000000000000080 // 인쇄 중
|
|
#define S7PS_M_MAGRW 0x0000000000000100 // 마그네틱 읽기/쓰기 중
|
|
#define S7PS_M_RECVPRINTDATA 0x0000000000000200 // 인쇄 버퍼 받는 중
|
|
#define S7PS_M_INIT 0x0000000000000400 // 장치 초기화 중
|
|
#define S7PS_S_READY 0x0000000000000800 // 대기상태
|
|
#define S7PS_S_INSTALLINTENCODER 0x0000000000008000 // 내부 인코더 장착
|
|
#define S7PS_S_INSTALLEXTHOPPER 0x0000000000010000 // 외부 호퍼 장착
|
|
#define S7PS_S_INSTALLEXTSTACKER 0x0000000000020000 // 외부 스태커 장착
|
|
#define S7PS_S_INSTALLEXTENCODER 0x0000000000040000 // 외부 인코더 장착
|
|
#define S7PS_S_INSTALLEXTLAMINATOR 0x0000000000080000 // 외부 라미네이터 장착
|
|
#define S7PS_S_INSTALLEXTFLIPPER 0x0000000000100000 // 외부 플리퍼 장착
|
|
#define S7PS_S_INSTALLEXTETC 0x0000000000200000 // 외부 기타장치 장착
|
|
#define S7PS_S_CASEOPEN 0x0000000000400000 // 케이스 열림 상태
|
|
#define S7PS_S_SOFTLOCKED 0x0000000000800000 // 소프트 락 상태
|
|
#define S7PS_S_KEYLOCKED 0x0000000001000000 // 키 락 상태
|
|
#define S7PS_S_DETECTCARD 0x0000000002000000 // 내부 센서에 카드 감지 (In/Center/Out Sensor)
|
|
#define S7PS_S_DETECTFRONTDEVICE 0x0000000004000000 // 전방 장치(Front Device) 연결되어있음
|
|
#define S7PS_S_DETECTREARDEVICE 0x0000000008000000 // 후방 장치(Rear Device) 연결되어있음
|
|
#define S7PS_S_CLEANWARNING 0x0000000010000000 // 프린터 클리닝 경고
|
|
#define S7PS_S_HAVEPRINTDATA 0x0000000020000000 // 인쇄 데이터 버퍼 보유 중
|
|
#define S7PS_S_SBSMODE 0x0000000040000000 // SBS(Step by Step) 모드 상태
|
|
#define S7PS_S_TESTMODE 0x0000000080000000 // 테스트모드 상태
|
|
|
|
#define S7PS_M_MASK (S7PS_M_SBSRUNNING|S7PS_M_CARDMOVE|S7PS_M_CARDIN|S7PS_M_CARDOUT|S7PS_M_THEAD|S7PS_M_SEEKRIBBON|S7PS_M_MOVERIBBON|S7PS_M_PRINT|S7PS_M_MAGRW|S7PS_M_INIT)
|
|
#define S7PS_S_MASK (S7PS_S_INSTALLINTENCODER|S7PS_S_INSTALLEXTHOPPER|S7PS_S_INSTALLEXTSTACKER|S7PS_S_INSTALLEXTENCODER|S7PS_S_INSTALLEXTLAMINATOR|S7PS_S_INSTALLEXTFLIPPER|S7PS_S_INSTALLEXTETC|S7PS_S_CASEOPEN|S7PS_S_SOFTLOCKED|S7PS_S_KEYLOCKED|S7PS_S_DETECTCARD|S7PS_S_DETECTFRONTDEVICE|S7PS_S_DETECTREARDEVICE|S7PS_S_CLEANWARNING|S7PS_S_HAVEPRINTDATA|S7PS_S_SBSMODE|S7PS_S_TESTMODE)
|
|
|
|
|
|
#define S7PS_E_CARDIN 0x0000000100000000 // 카드-인 에러
|
|
#define S7PS_E_CARDMOVE 0x0000000200000000 // 카드 이동 에러
|
|
#define S7PS_E_CARDOUT 0x0000000400000000 // 카드 배출 에러
|
|
#define S7PS_E_THEADLIFT 0x0000000800000000 // 써멀 헤드 업/다운 에러 // S7PS_E_THEAD
|
|
#define S7PS_E_PRINT 0x0000004000000000 // 인쇄 중 에러
|
|
#define S7PS_E_MAGRW 0x0000008000000000 // (내부) 마그네틱 트랙 읽기/쓰기 에러
|
|
#define S7PS_E_MAGREADT1 0x0000010000000000 // (내부) 마그네틱 트랙 1 읽기 에러
|
|
#define S7PS_E_MAGREADT2 0x0000020000000000 // (내부) 마그네틱 트랙 2 읽기 에러
|
|
#define S7PS_E_MAGREADT3 0x0000040000000000 // (내부) 마그네틱 트랙 3 읽기 에러
|
|
#define S7PS_E_CONNECTEXTHOPPER 0x0000080000000000 // 외부 호퍼 연결 에러
|
|
#define S7PS_E_CONNECTEXTSTACKER 0x0000100000000000 // 외부 스태커 연결 에러
|
|
#define S7PS_E_CONNECTEXTENCODER 0x0000200000000000 // 외부 인코더 연결 에러
|
|
#define S7PS_E_CONNECTEXTLAMINATOR 0x0000400000000000 // 외부 라미네이터 연결 에러
|
|
#define S7PS_E_CONNECTEXTFLIPPER 0x0000800000000000 // 외부 플리퍼 연결 에러
|
|
#define S7PS_E_CONNECTEXTETC 0x0001000000000000 // 외부 기타장치 연결 에러
|
|
#define S7PS_E_EXTPRESETMATCH 0x0002000000000000 // 외부 프리셋 장치 연결 에러
|
|
#define S7PS_E_SCHEDULER 0x0020000000000000 // 스케쥴러 수행 에러
|
|
#define S7PS_E_RIBBONEMPTY 0x0040000000000000 // 리본 잔량 0
|
|
#define S7PS_E_RIBBONSEEK 0x0080000000000000 // 리본 서치 에러
|
|
#define S7PS_E_RIBBONMOVE 0x0100000000000000 // 리본 이동 에러
|
|
#define S7PS_F_THEADABSENT 0x0200000000000000 // 인쇄 헤드 미장착
|
|
#define S7PS_F_THEADOVERHEAT 0x0400000000000000 // 인쇄 헤드 과열
|
|
#define S7PS_F_RIBBONABSENT 0x0800000000000000 // 리본 없음
|
|
#define S7PS_F_PRINTDATA 0x1000000000000000 // 인쇄 데이터 오류
|
|
#define S7PS_F_INCORRECTPASSWORRD 0x2000000000000000 // 패스워드 틀림
|
|
#define S7PS_F_CONFIG 0x4000000000000000 // 설정 실패
|
|
|
|
#define S7PS_E_MASK (S7PS_E_CARDIN|S7PS_E_CARDMOVE|S7PS_E_CARDOUT|S7PS_E_THEADLIFT|S7PS_E_PRINT|S7PS_E_MAGRW|S7PS_E_MAGREADT1|S7PS_E_MAGREADT2|S7PS_E_MAGREADT3|S7PS_E_CONNECTEXTHOPPER|S7PS_E_CONNECTEXTSTACKER|S7PS_E_CONNECTEXTENCODER|S7PS_E_CONNECTEXTLAMINATOR|S7PS_E_CONNECTEXTFLIPPER|S7PS_E_CONNECTEXTETC|S7PS_E_EXTPRESETMATCH|S7PS_E_RIBBONSEEK|S7PS_E_RIBBONMOVE)
|
|
#define S7PS_F_MASK (S7PS_F_THEADABSENT|S7PS_F_THEADOVERHEAT|S7PS_F_RIBBONABSENT|S7PS_F_PRINTDATA|S7PS_F_INCORRECTPASSWORRD|S7PS_F_CONFIG)
|
|
|
|
|
|
|
|
|
|
// SMART-70 INPUT-HOPPER (HOPPER) STATUS
|
|
|
|
#define S7IS_M_CARDOUT 0x0000000000000002 // 카드 배출 중
|
|
#define S7IS_S_READY 0x0000000000010000 // 대기상태
|
|
#define S7IS_M_PROCESSING 0x0000000000020000 // 명령 수행 중
|
|
#define S7IS_S_CATRIDGENEAREMPTY 0x0000000002000000 // 카드리지 거의 비어있음 (카드 얼마 없음)
|
|
#define S7IS_S_CATRIDGEEMPTY 0x0000000004000000 // 카드리지 비어있음 (카드 없음)
|
|
#define S7IS_S_CATRIDGELOCK 0x0000000008000000 // 카드리지 락 센서 감지
|
|
#define S7IS_S_CATRIDGECONTACT 0x0000000010000000 // 카드리지 컨택 센서 감지
|
|
#define S7IS_S_CARDOUT 0x0000000020000000 // 카드 아웃 센서 감지
|
|
#define S7IS_S_REARHOOK 0x0000000040000000 // 후방 훅(Hook) 감지
|
|
#define S7IS_S_FRONTHOOK 0x0000000080000000 // 전방 훅(Hook) 감지
|
|
|
|
#define S7IS_M_MASK (S7IS_M_CARDOUT|S7IS_M_PROCESSING)
|
|
#define S7IS_S_MASK (S7IS_S_READY|S7IS_S_CATRIDGENEAREMPTY|S7IS_S_CATRIDGEEMPTY|S7IS_S_CATRIDGELOCK|S7IS_S_CATRIDGECONTACT|S7IS_S_CARDOUT|S7IS_S_REARHOOK|S7IS_S_FRONTHOOK)
|
|
|
|
|
|
#define S7IS_E_CARDOUT 0x0000000200000000 // 카드 배출 에러
|
|
#define S7IS_F_INIT 0x0001000000000000 // 초기화 에러
|
|
|
|
#define S7IS_E_MASK (S7IS_E_CARDOUT)
|
|
#define S7IS_F_MASK (S7IS_F_INIT)
|
|
|
|
|
|
|
|
|
|
// SMART-70 MULTI-HOPPER STATUS
|
|
|
|
#define S7MS_M_INIT 0x0000000000000001 // 초기화 중
|
|
#define S7MS_M_CARDOUT 0x0000000000000002 // 카드 배출 중
|
|
#define S7MS_S_READY 0x0000000000000004 // 대기상태
|
|
#define S7MS_M_PROCESSING 0x0000000000000008 // 명령 수행 중
|
|
#define S7MS_S_HOPPER1CONNECT 0x0000000000000010 // 1번 호퍼 연결 감지
|
|
#define S7MS_S_HOPPER2CONNECT 0x0000000000000020 // 2번 호퍼 연결 감지
|
|
#define S7MS_S_HOPPER3CONNECT 0x0000000000000040 // 3번 호퍼 연결 감지
|
|
#define S7MS_S_HOPPER4CONNECT 0x0000000000000080 // 4번 호퍼 연결 감지
|
|
#define S7MS_S_HOPPER5CONNECT 0x0000000000000100 // 5번 호퍼 연결 감지
|
|
#define S7MS_S_HOPPER6CONNECT 0x0000000000000200 // 6번 호퍼 연결 감지
|
|
#define S7MS_M_HOPPER1RUN 0x0000000000000400 // 1번 호퍼 동작 중
|
|
#define S7MS_M_HOPPER2RUN 0x0000000000000800 // 2번 호퍼 동작 중
|
|
#define S7MS_M_HOPPER3RUN 0x0000000000001000 // 3번 호퍼 동작 중
|
|
#define S7MS_M_HOPPER4RUN 0x0000000000002000 // 4번 호퍼 동작 중
|
|
#define S7MS_M_HOPPER5RUN 0x0000000000004000 // 5번 호퍼 동작 중
|
|
#define S7MS_M_HOPPER6RUN 0x0000000000008000 // 6번 호퍼 동작 중
|
|
#define S7MS_S_LEFTLSENSOR 0x0000000000040000 // 왼편 리밋 센서
|
|
#define S7MS_S_RIGHTLSENSOR 0x0000000000080000 // 오른편 리밋 센서
|
|
#define S7MS_S_SPSENSORA 0x0000000000100000 // 쉬프터 포지션 센서 A
|
|
#define S7MS_S_SPSENSORB 0x0000000000200000 // 쉬프터 포지션 센서 B
|
|
#define S7MS_S_SPSENSORC 0x0000000000400000 // 쉬프터 포지션 센서 C
|
|
#define S7MS_S_SPSENSORD 0x0000000000800000 // 쉬프터 포지션 센서 D
|
|
#define S7MS_S_CISENSORA0 0x0000000001000000 // 카드 인 센서 A0
|
|
#define S7MS_S_CISENSORA1 0x0000000002000000 // 카드 인 센서 A1
|
|
#define S7MS_S_CISENSORB0 0x0000000004000000 // 카드 인 센서 B0
|
|
#define S7MS_S_CISENSORB1 0x0000000008000000 // 카드 인 센서 B1
|
|
#define S7MS_S_CISENSORC0 0x0000000010000000 // 카드 인 센서 C0
|
|
#define S7MS_S_CISENSORC1 0x0000000020000000 // 카드 인 센서 C1
|
|
#define S7MS_S_CISENSORD0 0x0000000040000000 // 카드 인 센서 D0
|
|
#define S7MS_S_CISENSORD1 0x0000000080000000 // 카드 인 센서 D1
|
|
|
|
#define S7MS_M_MASK (S7MS_M_INIT|S7MS_M_CARDOUT|S7MS_M_PROCESSING|S7MS_M_HOPPER1RUN|S7MS_M_HOPPER2RUN|S7MS_M_HOPPER3RUN|S7MS_M_HOPPER4RUN|S7MS_M_HOPPER5RUN|S7MS_M_HOPPER6RUN)
|
|
#define S7MS_S_MASK (S7MS_S_READY|S7MS_S_HOPPER1CONNECT|S7MS_S_HOPPER2CONNECT|S7MS_S_HOPPER3CONNECT|S7MS_S_HOPPER4CONNECT|S7MS_S_HOPPER5CONNECT|S7MS_S_HOPPER6CONNECT|S7MS_S_LEFTLSENSOR|S7MS_S_RIGHTLSENSOR|S7MS_S_SPSENSORA|S7MS_S_SPSENSORB|S7MS_S_SPSENSORC|S7MS_S_SPSENSORD|S7MS_S_CISENSORA0|S7MS_S_CISENSORA1|S7MS_S_CISENSORB0|S7MS_S_CISENSORB1|S7MS_S_CISENSORC0|S7MS_S_CISENSORC1|S7MS_S_CISENSORD0|S7MS_S_CISENSORD1)
|
|
|
|
|
|
#define S7MS_F_INIT 0x0000000100000000 // 초기화 실패
|
|
#define S7MS_E_CARDOUT 0x0000000200000000 // 카드 배출 에러
|
|
#define S7MS_E_RUN 0x0000000800000000 // 명령 수행 에러
|
|
#define S7MS_E_HOPPER1CONTROL 0x0000001000000000 // 호퍼 1 컨트롤 에러
|
|
#define S7MS_E_HOPPER2CONTROL 0x0000002000000000 // 호퍼 2 컨트롤 에러
|
|
#define S7MS_E_HOPPER3CONTROL 0x0000004000000000 // 호퍼 3 컨트롤 에러
|
|
#define S7MS_E_HOPPER4CONTROL 0x0000008000000000 // 호퍼 4 컨트롤 에러
|
|
#define S7MS_E_HOPPER5CONTROL 0x0000010000000000 // 호퍼 5 컨트롤 에러
|
|
#define S7MS_E_HOPPER6CONTROL 0x0000020000000000 // 호퍼 6 컨트롤 에러
|
|
#define S7MS_E_HOPPER1EMPTY 0x0000040000000000 // 호퍼 1 카드 없음
|
|
#define S7MS_E_HOPPER2EMPTY 0x0000080000000000 // 호퍼 2 카드 없음
|
|
#define S7MS_E_HOPPER3EMPTY 0x0000100000000000 // 호퍼 3 카드 없음
|
|
#define S7MS_E_HOPPER4EMPTY 0x0000200000000000 // 호퍼 4 카드 없음
|
|
#define S7MS_E_HOPPER5EMPTY 0x0000400000000000 // 호퍼 5 카드 없음
|
|
#define S7MS_E_HOPPER6EMPTY 0x0000800000000000 // 호퍼 6 카드 없음
|
|
#define S7MS_E_HOPPER1 0x0001000000000000 // 호퍼 1 에러
|
|
#define S7MS_E_HOPPER2 0x0002000000000000 // 호퍼 2 에러
|
|
#define S7MS_E_HOPPER3 0x0004000000000000 // 호퍼 3 에러
|
|
#define S7MS_E_HOPPER4 0x0008000000000000 // 호퍼 4 에러
|
|
#define S7MS_E_HOPPER5 0x0010000000000000 // 호퍼 5 에러
|
|
#define S7MS_E_HOPPER6 0x0020000000000000 // 호퍼 6 에러
|
|
|
|
#define S7MS_E_MASK (S7MS_E_CARDOUT|S7MS_E_RUN|S7MS_E_HOPPER1CONTROL|S7MS_E_HOPPER2CONTROL|S7MS_E_HOPPER3CONTROL|S7MS_E_HOPPER4CONTROL|S7MS_E_HOPPER5CONTROL|S7MS_E_HOPPER6CONTROL|/*S7MS_E_HOPPER1EMPTY|S7MS_E_HOPPER2EMPTY|S7MS_E_HOPPER3EMPTY|S7MS_E_HOPPER4EMPTY|S7MS_E_HOPPER5EMPTY|S7MS_E_HOPPER6EMPTY|*/S7MS_E_HOPPER1|S7MS_E_HOPPER2|S7MS_E_HOPPER3|S7MS_E_HOPPER4|S7MS_E_HOPPER5|S7MS_E_HOPPER6)
|
|
#define S7MS_F_MASK (S7MS_F_INIT)
|
|
|
|
|
|
|
|
|
|
// SMART-70 OUTPUT-HOPPER (STACKER) STATUS
|
|
|
|
#define S7OS_M_CARDIN 0x0000000000000001 // 카드-인 중
|
|
#define S7OS_M_LIFTUP 0x0000000000000004 // 리프트-업 동작중
|
|
#define S7OS_M_LIFTDOWN 0x0000000000000008 // 리프트-다운 동작중
|
|
#define S7OS_S_READY 0x0000000000010000 // 대기상태
|
|
#define S7OS_M_PROCESSING 0x0000000000020000 // 명령 수행 중
|
|
#define S7OS_S_CARDSTANDBY 0x0000000002000000 // 카드 대기센서 감지
|
|
#define S7OS_S_CATRIDGEHAVESPACE 0x0000000004000000 // 카드리지 공간 여유 있음
|
|
#define S7OS_S_CATRIDGELOCK 0x0000000008000000 // 카드리지 락 센서 감지
|
|
#define S7OS_S_CATRIDGECONTACT 0x0000000010000000 // 카드리지 컨택 센서 감지 안됨
|
|
#define S7OS_S_CARDINENABLER 0x0000000020000000 // 카드 인 가능 센서 감지
|
|
#define S7OS_S_LIFTUP 0x0000000040000000 // 리프트 업 상태
|
|
#define S7OS_S_DETECTCARDIN 0x0000000080000000 // 카드인 센서에 카드 감지
|
|
|
|
#define S7OS_M_MASK (S7OS_M_CARDIN|S7OS_M_LIFTUP|S7OS_M_LIFTDOWN|S7OS_M_PROCESSING)
|
|
#define S7OS_S_MASK (S7OS_S_READY|S7OS_M_PROCESSING|S7OS_S_CARDSTANDBY|S7OS_S_CATRIDGEHAVESPACE|S7OS_S_CATRIDGELOCK|S7OS_S_CATRIDGECONTACT|S7OS_S_CARDINENABLER|S7OS_S_LIFTUP|S7OS_S_DETECTCARDIN)
|
|
|
|
|
|
#define S7OS_E_CARDIN 0x0000000100000000 // 카드-인 에러
|
|
#define S7OS_E_LIFTUP 0x0000000400000000 // 리프트-업 에러
|
|
#define S7OS_E_LIFTDOWN 0x0000000800000000 // 리프트-다운 에러
|
|
#define S7OS_F_INIT 0x0001000000000000 // 초기화 에러
|
|
|
|
#define S7OS_E_MASK (S7OS_E_CARDIN|S7OS_E_LIFTUP|S7OS_E_LIFTDOWN)
|
|
#define S7OS_F_MASK (S7OS_F_INIT)
|
|
|
|
|
|
|
|
|
|
// SMART-70 FLIPPER STATUS
|
|
|
|
#define S7FS_M_CARDIN 0x0000000000000001 // 카드-인 중
|
|
#define S7FS_M_CARDOUT 0x0000000000000002 // 카드 배출 중
|
|
#define S7FS_M_FLIPPING 0x0000000000000004 // 플리핑 중
|
|
#define S7FS_M_CARDMOVE 0x0000000000000008 // 카드 이동 중
|
|
#define S7FS_S_SMARTREADERDOWN 0x0000000000000010 // IC 리더 다운 상태. (Board Ver.2 에서 사용)
|
|
#define S7FS_S_SMARTREADERUP 0x0000000000000020 // IC 리더 업 상태. (Board Ver.2 에서 사용)
|
|
#define S7FS_S_EXTBOARDABSENT 0x0000000000000100 // 확장보드 연결 안되어있음. (Board Ver.2 에서 사용)
|
|
#define S7FS_S_DETECTCARDSCANIN 0x0000000000000200 // 스캔모듈 카드 인(하단) 센서 카드감지. (Board Ver.2 에서 사용)
|
|
#define S7FS_S_DETECTCARDSCANOUT 0x0000000000000400 // 스캔모듈 카드 아웃(상단) 센서 카드감지. (Board Ver.2 에서 사용)
|
|
#define S7FS_S_SMARTREADERCAMSENSOR 0x0000000000000800 // IC 리더 캠 센서. (Board Ver.2 에서 사용)
|
|
#define S7FS_S_NOTINSTALLSCANMOD 0x0000000000001000 // 스캔모듈 연결 안되어있음. (Board Ver.2 에서 사용)
|
|
#define S7FS_S_READY 0x0000000000010000 // 대기상태
|
|
#define S7FS_M_PROCESSING 0x0000000000020000 // 명령 수행 중
|
|
#define S7FS_S_V2BOARD 0x0000000000200000 // 보드 Ver. 2
|
|
#define S7FS_S_FLIPPERBOTTOM 0x0000000000400000 // 플리퍼 하향 상태
|
|
#define S7FS_S_FLIPPERTOP 0x0000000000800000 // 플리퍼 상향 상태
|
|
#define S7FS_S_CATRIDGELOCK 0x0000000001000000 // 카트리지 락 센서
|
|
#define S7FS_S_CASEOPENSENSOR 0x0000000002000000 // 케이스 열림 감지 센서. (Board Ver.2 에서 사용)
|
|
#define S7FS_S_CATRIDGEFULLSENSOR 0x0000000004000000 // 카트리지 꽉 참 센서
|
|
#define S7FS_S_PCSVERTICALSENSOR 0x0000000008000000 // 수직 플리퍼 위치 제어 센서
|
|
#define S7FS_S_PCSHORIZONTALSENSOR 0x0000000010000000 // 수평 플리퍼 위치 제어 센서
|
|
#define S7FS_S_DETECTCARDRIGHT 0x0000000020000000 // 우측 센서 카드감지
|
|
#define S7FS_S_DETECTCARDCENTER 0x0000000040000000 // 중앙 센서 카드감지
|
|
#define S7FS_S_DETECTCARDLEFT 0x0000000080000000 // 좌측 센서 카드감지
|
|
|
|
#define S7FS_M_MASK (S7FS_M_CARDIN|S7FS_M_CARDOUT|S7FS_M_FLIPPING|S7FS_M_PROCESSING)
|
|
#define S7FS_S_MASK (S7FS_S_READY|S7FS_S_CATRIDGELOCK|S7FS_S_CASEOPEN|S7FS_S_CATRIDGEFULL|S7FS_S_PCSVERTICAL|S7FS_S_PCSHORIZONTAL|S7FS_S_DETECTCARDRIGHT|S7FS_S_DETECTCARDCENTER|S7FS_S_DETECTCARDLEFT)
|
|
#define S7FS_WA_V2BOARDONLY (S7FS_S_SMARTREADERDOWN|S7FS_S_SMARTREADERUP|S7FS_S_EXTBOARDABSENT|S7FS_S_DETECTCARDSCANIN|S7FS_S_DETECTCARDSCANOUT|S7FS_S_SMARTREADERCAMSENSOR|S7FS_S_NOTINSTALLSCANMOD|S7FS_S_CASEOPENSENSOR)
|
|
|
|
|
|
#define S7FS_E_CARDIN 0x0000000100000000 // 카드-인 에러
|
|
#define S7FS_E_CARDOUT 0x0000000200000000 // 카드 배출 에러
|
|
#define S7FS_E_FLIP 0x0000000400000000 // 플립 에러
|
|
#define S7FS_E_CARDMOVE 0x0000000800000000 // 카드 이동 에러
|
|
#define S7FS_E_SMARTREADERDOWN 0x0000001000000000 // IC 리더 다운 에러 (Board Ver.2 에서 사용)
|
|
#define S7FS_E_SMARTREADERUP 0x0000002000000000 // IC 리더 업 에러 (Board Ver.2 에서 사용)
|
|
#define S7FS_F_INIT 0x0001000000000000 // 초기화 에러
|
|
|
|
#define S7FS_E_MASK (S7FS_E_CARDIN|S7FS_E_CARDOUT|S7FS_E_FLIP)
|
|
#define S7FS_F_MASK (S7FS_F_INIT)
|
|
#define S7FS_WF_V2BOARDONLY (S7FS_E_SMARTREADERDOWN|S7FS_E_SMARTREADERUP)
|
|
|
|
#define S7FS_WS_V2BOARDONLY (S7FS_WA_V2BOARDONLY|S7FS_WS_V2BOARDONLY)
|
|
|
|
|
|
|
|
// SMART-70 LAMINATOR STATUS
|
|
|
|
#define S7LS_M_CARDIN 0x0000000000000001 // 카드-인 중
|
|
#define S7LS_M_CARDMOVE 0x0000000000000002 // 카드 이동 중
|
|
#define S7LS_M_CARDOUT 0x0000000000000004 // 카드 배출 중
|
|
#define S7LS_M_THEADUP 0x0000000000000008 // 헤드 업 중
|
|
#define S7LS_M_THEADDOWN 0x0000000000000010 // 헤드 다운 중
|
|
#define S7LS_M_THEADHEAT 0x0000000000000020 // 헤드 가열 중
|
|
#define S7LS_M_LAMINATING 0x0000000000000040 // 라미네이팅 중
|
|
#define S7LS_S_INSTALLEXTHOPPER 0x0000000000000080 // 외부 호퍼 장착
|
|
#define S7LS_S_INSTALLEXTSTACKER 0x0000000000000100 // 외부 스태커 장착
|
|
#define S7LS_S_INSTALLEXTFLIPPER 0x0000000000000200 // 외부 플리퍼 장착
|
|
#define S7LS_S_READY 0x0000000000010000 // 대기상태
|
|
#define S7LS_M_PROCESSING 0x0000000000020000 // 명령 수행 중
|
|
#define S7LS_M_PROCESSUSBCMD 0x0000000000040000 // USB 명령 수행 중
|
|
#define S7LS_S_CASEOPEN 0x0000000000100000 // 케이스 열림 감지
|
|
#define S7LS_S_CATRIDGELOCK 0x0000000000200000 // 카트리지 락 센서 감지
|
|
#define S7LS_S_CARDOUT 0x0000000000400000 // 아웃 센서 카드감지
|
|
#define S7LS_S_CARDCENTERB 0x0000000000800000 // 센터 B 센서 카드 감지
|
|
#define S7LS_S_CARDCENTERA 0x0000000001000000 // 센터 A 센서 카드 감지
|
|
#define S7LS_S_CARDIN 0x0000000002000000 // 인 센서 카드 감지
|
|
#define S7LS_S_THEAD 0x0000000004000000 // 헤드 업/다운 센서
|
|
#define S7LS_S_CASEOPENSENSOR 0x0000000008000000 // 케이스 열림 감지 센서
|
|
#define S7LS_S_FILMMARKCHECKB 0x0000000010000000 // 필름 마크 체크 B 센서
|
|
#define S7LS_S_FILMMARKCHECKA 0x0000000020000000 // 필름 마크 체크 A 센서
|
|
#define S7LS_S_ENCODERB 0x0000000040000000 // 인코더 B 센서
|
|
#define S7LS_S_ENCODERA 0x0000000080000000 // 인코더 A 센서
|
|
|
|
#define S7LS_M_MASK (S7LS_M_CARDIN|S7LS_M_CARDMOVE|S7LS_M_CARDOUT|S7LS_M_THEADUP|S7LS_M_THEADDOWN|S7LS_M_THEADHEAT|S7LS_M_LAMINATING|S7LS_M_PROCESSING)
|
|
#define S7LS_S_MASK (S7LS_S_READY|S7LS_S_CASEOPEN|S7LS_S_CATRIDGELOCK|S7LS_S_CARDOUT|S7LS_S_CARDCENTERB|S7LS_S_CARDCENTERA|S7LS_S_CARDIN|S7LS_S_THEAD|/*S7LS_S_CASEOPENSENSOR|*/S7LS_S_FILMMARKCHECKB|S7LS_S_FILMMARKCHECKA|S7LS_S_ENCODERB|S7LS_S_ENCODERA)
|
|
|
|
|
|
#define S7LS_E_CARDIN 0x0000000100000000 // 카드-인 에러
|
|
#define S7LS_E_CARDMOVE 0x0000000200000000 // 카드 이동 에러
|
|
#define S7LS_E_CARDOUT 0x0000000400000000 // 카드 배출 에러
|
|
#define S7LS_E_THEADUP 0x0000000800000000 // 헤드 업 에러
|
|
#define S7LS_E_THEADDOWN 0x0000001000000000 // 헤드 다운 에러
|
|
#define S7LS_E_LAMINATING 0x0000002000000000 // 라미네이팅 중 에러
|
|
#define S7LS_E_INSTALLEXTHOPPER 0x0000008000000000 // 외부 플리퍼 연결 에러
|
|
#define S7LS_E_INSTALLEXTSTACKER 0x0000010000000000 // 외부 스태커 연결 에러
|
|
#define S7LS_E_INSTALLEXTFLIPPER 0x0000020000000000 // 외부 플리퍼 연결 에러
|
|
#define S7LS_F_INIT 0x0001000000000000 // 초기화 실패
|
|
#define S7LS_E_PROCESSING 0x0002000000000000 // 명령 수행 에러
|
|
#define S7LS_E_PROCESSUSBCMD 0x0004000000000000 // USB 명령 수행 에러
|
|
#define S7LS_F_FILMEMPTY 0x0010000000000000 // 필름 잔량 없음
|
|
#define S7LS_F_FILMSEEK 0x0020000000000000 // 필름 찾기 에러
|
|
#define S7LS_F_THEAD 0x0040000000000000 // 헤드 안전 에러 (과열 등)
|
|
#define S7LS_F_FILMABSENT 0x0080000000000000 // 필름 미장착
|
|
|
|
#define S7LS_E_MASK (S7LS_E_CARDIN|S7LS_E_CARDMOVE|S7LS_E_CARDOUT|S7LS_E_THEADUP|S7LS_E_THEADDOWN|S7LS_E_PROCESSING|S7LS_E_LAMINATING)
|
|
#define S7LS_F_MASK (S7LS_F_INIT|S7LS_F_FILMEMPTY|S7LS_F_FILMSEEK|S7LS_F_THEAD|S7LS_F_FILMABSENT)
|
|
|
|
|
|
|
|
|
|
|
|
// SMART-70X/LE LASER STATUS
|
|
|
|
#define S7XS_M_CARDIN 0x0000000000000001 // 카드 삽입중
|
|
#define S7XS_M_CARDOUT 0x0000000000000002 // 카드 배출중
|
|
#define S7XS_M_FLIPPING 0x0000000000000004 // 플리퍼 회전중
|
|
#define S7XS_M_CARDMOVE 0x0000000000000008 // 카드 이동
|
|
#define S7XS_M_ICHLIFT 0x0000000000000010 // IC 헤드 업/다운중
|
|
#define S7XS_M_MAGRW 0x0000000000000020 // Magnetic 동작중
|
|
#define S7XS_S_NOICCAM 0x0000000000000800 // IC Reader CAM Sensor 없음
|
|
#define S7XS_S_LE 0x0000000000008000 // SMART-70LE
|
|
#define S7XS_S_READY 0x0000000000010000 // 대기 상태
|
|
#define S7XS_M_PROCESSING 0x0000000000020000 // 명령 수행중
|
|
#define S7XS_S_AUTOCARDIN 0x0000000000040000 // 자동 카드 삽입 설정 상태
|
|
#define S7XS_S_RECOVERING 0x0000000000080000 // boot, case(door) close 후 복구중
|
|
#define S7XS_S_FLPBOTTOM 0x0000000000100000 // 플리퍼 하향 상태
|
|
#define S7XS_S_FLPTOP 0x0000000000200000 // 플리퍼 상향 상태
|
|
#define S7XS_S_CASEOPEN 0x0000000001000000 // 케이스 열림
|
|
#define S7XS_S_DETECTOPTOUT 0x0000000004000000 // 옵션 아웃 센서에서 카드 검출
|
|
#define S7XS_S_DETECTFLPREAR 0x0000000008000000 // 플리퍼 후방 센서에서 카드 검출
|
|
#define S7XS_S_DETECTOPTIN 0x0000000010000000 // 옵션 인 센서에서 카드 검출
|
|
#define S7XS_S_DETECTCARDOUT 0x0000000020000000 // 카드 아웃 센서에서 카드 검출
|
|
#define S7XS_S_DETECTFLPCENTER 0x0000000040000000 // 플리퍼 중앙 센서에서 카드 검출
|
|
#define S7XS_S_DETECTCARDIN 0x0000000080000000 // 카드 인 센서에서 카드 검출
|
|
|
|
//
|
|
// [ LASER-X DEVICE ]
|
|
// +------------------------+
|
|
// | | 1 : Card-In Sensor
|
|
// | Laser | 2 : Flipper-Center Sensor
|
|
// | | 3 : Flipper-Rear Sensor
|
|
// 1 [===2===] 3--4------5--6 4 : Option-In Sensor 옵션 장치들이 설치되는 공간의 시작 부분
|
|
// | | 5 : Option-Out Sensor 옵션 장치들이 설치되는 공간의 끝 부분
|
|
// | Flipper Options | 6 : Card-Out Sensor
|
|
// +------------------------+
|
|
|
|
#define S7XS_M_MASK (S7XS_M_CARDIN|S7XS_M_CARDOUT|S7XS_M_FLIPPING|S7XS_M_CARDMOVE|S7XS_M_ICHLIFT|S7XS_M_MAGRW|S7XS_M_PROCESSING)
|
|
#define S7XS_S_MASK (S7XS_S_READY|S7XS_S_AUTOCARDIN|S7XS_S_FLPBOTTOM|S7XS_S_FLPTOP|S7XS_S_FLP_SideNotSure|S7XS_S_CASEOPEN|S7XS_S_FLIPPCS_MissedLittle|S7XS_S_DETECTOPTOUT|S7XS_S_DETECTFLPREAR|S7XS_S_DETECTOPTIN|S7XS_S_DETECTCARDOUT|S7XS_S_DETECTFLPCENTER|S7XS_S_DETECTCARDIN)
|
|
|
|
|
|
|
|
#define S7XS_E_CARDIN 0x0000000100000000 // 카드-인 에러
|
|
#define S7XS_E_CARDOUT 0x0000000200000000 // 카드 배출 에러
|
|
#define S7XS_E_CARDFLIP 0x0000000400000000 // 카드 플립 에러
|
|
#define S7XS_E_CARDMOVE 0x0000000800000000 // 카드 이동 에러
|
|
#define S7XS_E_ICHLIFT 0x0000001000000000 // IC 헤드 업/다운 에러
|
|
#define S7XS_E_MAGRW 0x0000002000000000 // 마그네틱 RW 에러
|
|
#define S7XS_F_INIT 0x0001000000000000 // 초기화 에러
|
|
|
|
#define S7XS_E_MASK (S7XS_E_CARDIN|S7XS_E_CARDOUT|S7XS_E_CARDFLIP|S7XS_E_CARDMOVE|S7XS_E_ICHLIFT|S7XS_E_MAGRW)
|
|
#define S7XS_F_MASK (S7XS_F_INIT)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
* Configuration Item Definition.
|
|
*/
|
|
|
|
#define SM70EX_CFG_BLOKING 0x0006
|
|
#define SM70EX_CFG_PRINTMETHOD 0x000B
|
|
#define SM70EX_CFG_PRINTFILENAME 0x000C // .prn file name set/get
|
|
#define SM70EX_CFG_REVERSEOVERLAY 0x000E // overlay reverse
|
|
#define SM70EX_CFG_REVERSEUV 0x000F // uv reverse
|
|
#define SM70EX_CFG_IMAGEFLIP 0x0014 // no flip, h-flip, v-flip, rotate-180(h-flip & v-flip) for printing image. // 2018.05.10
|
|
#define SM70EX_CFG_LECARDINCARDSIDE 0x0015 // SMART-70LE : card side when card in
|
|
#define SM70EX_CFG_LECARDOUTCARDSIDE 0x0016 // SMART-70LE : card side when card out
|
|
#define SM70EX_CFG_ADJUSTCONTACTPOS 0x0018 // adjust contact smart card position.
|
|
#define SM70EX_CFG_ADJUSTCONTACTLESSPOS 0x0019 // adjust contactless smart card position.
|
|
|
|
|
|
/*
|
|
* Configuration Value Definition.
|
|
*/
|
|
|
|
// General Configuration
|
|
#define SM70EX_CFG_USE 0x01
|
|
#define SM70EX_CFG_NOTUSE 0x00
|
|
|
|
// SM70EX_CFG_PRINTMETHOD
|
|
#define SM70EX_CFG_PRINTONLY 0x00
|
|
#define SM70EX_CFG_PRINTNFILE 0x01 // only enabled at DCL mode printing.
|
|
#define SM70EX_CFG_FILEONLY 0x02
|
|
|
|
// SM70EX_CFG_IMAGEFLIP
|
|
#define SM70EX_CFG_NOFLIP 0x00 // no flip
|
|
#define SM70EX_CFG_VFLIP 0x01 // vertical flip
|
|
#define SM70EX_CFG_HFLIP 0x02 // horizontal flip
|
|
#define SM70EX_CFG_ROTATE180 (SM70EX_CFG_VFLIP|SM70EX_CFG_HFLIP) // rotate 180 (hflip + vflip)
|
|
|
|
|
|
|
|
|
|
|
|
// @Smart70_CardMovePosition
|
|
#define SM70_CARDPOS_MAG 1 // magnetic (write) position
|
|
#define SM70_CARDPOS_CONTACT 2 // contact smartcard position
|
|
#define SM70_CARDPOS_CONTACTLESS 3 // contactless smartcard position
|
|
#define SM70_CARDPOS_BASE 4 // flipper position in flipper module.
|
|
#define SM70_CARDPOS_LASER 5 // laser marking position
|
|
#define SM70_CARDPOS_MAGREAD 6 // magnetic read position. (in 70X, read position is different from write)
|
|
|
|
|
|
|
|
// @Smart70_Flip
|
|
#define SMART70_FLIP_360 0 // complete (360) flip.
|
|
#define SMART70_FLIP_TOTOP 1 // flip to top sided.
|
|
#define SMART70_FLIP_TOBOTTOM 2 // flip to bottom sided.
|
|
#define SMART70_FLIP_180 3 // 180 flip. no matter sided.
|
|
#define SMART70_FLIP_ANGLE 4 // any angle flip.
|
|
|
|
|
|
|
|
#define SMART70_PRINTER_MAX 32
|
|
|
|
typedef struct {
|
|
WCHAR name[128]; // printer name
|
|
WCHAR id[64]; // printer ID
|
|
WCHAR dev[64]; // device connection
|
|
WCHAR desc[256]; // description
|
|
int pid; // USB product ID
|
|
} SMART70_PRINTER_ITEM;
|
|
|
|
typedef struct {
|
|
int n;
|
|
SMART70_PRINTER_ITEM item[SMART70_PRINTER_MAX];
|
|
} SMART70_PRINTER_LIST;
|
|
|
|
typedef struct {
|
|
WCHAR port[64]; // usb port
|
|
WCHAR link[256]; // symbolic link of usb port
|
|
int is_bridge; // Network module bridge
|
|
} SMART70_PRINTER_PORT_USB;
|
|
|
|
typedef struct {
|
|
WCHAR ver[64]; // version of network protocol
|
|
WCHAR ip[64]; // ip address
|
|
int port; // tcp port
|
|
int is_ssl; // ssl protocol
|
|
} SMART70_PRINTER_PORT_NET;
|
|
|
|
typedef struct {
|
|
WCHAR name[128]; // printer name
|
|
WCHAR id[64]; // printer ID
|
|
WCHAR dev[64]; // device connection
|
|
int dev_type; // 1=USB, 2=NET
|
|
int pid; // USB product ID
|
|
|
|
SMART70_PRINTER_PORT_USB usb;
|
|
SMART70_PRINTER_PORT_NET net;
|
|
} SMART70_PRINTER_STANDARD;
|
|
|
|
typedef struct {
|
|
int is_dual; // dual printer
|
|
WCHAR ic1[64]; // internal contact encoder
|
|
WCHAR ic2[64]; // external contact SIM encoder
|
|
WCHAR rf1[64]; // internal contactless encoder
|
|
WCHAR rf2[64]; // external contactless encoder
|
|
} SMART70_PRINTER_OPTIONS;
|
|
|
|
typedef struct {
|
|
SMART70_PRINTER_STANDARD std;
|
|
SMART70_PRINTER_OPTIONS opt;
|
|
} SMART70_PRINTER_INFO;
|
|
|
|
|
|
|
|
|
|
#define SMART70_MAX_DEVICE 32
|
|
|
|
#define SMART70_DEV_INHOPPER 0x10
|
|
#define SMART70_DEV_MULINHOPPER 0x20
|
|
#define SMART70_DEV_ENCODER 0x30
|
|
#define SMART70_DEV_PRINTER 0x40
|
|
#define SMART70_DEV_LAMINATOR 0x50
|
|
#define SMART70_DEV_FLIPPER 0x60
|
|
#define SMART70_DEV_OUTHOPPER 0x70
|
|
#define SMART70_DEV_MULOUTHOPPER 0x80
|
|
#define SMART70_DEV_LASER 0x60
|
|
#define SMART70_DEV_INTENCODER 0x90 // internal encoder.
|
|
#define SMART70_DEV_OTHER 0xD0 // other devices
|
|
#define SMART70_DEV_ALL 0xF0
|
|
#define SMART70_DEV_IDX 0x0F
|
|
#define SMART70_DEV_MASK SMART70_DEV_ALL
|
|
#define SMART70_MOD_LASER (SMART70_DEV_LASER|2)
|
|
|
|
typedef struct {
|
|
BYTE id;
|
|
BYTE status;
|
|
} SMART70_DEVICE_STATUS;
|
|
|
|
typedef struct {
|
|
int n;
|
|
SMART70_DEVICE_STATUS dev[SMART70_MAX_DEVICE];
|
|
} SMART70_DEVCONNLIST;
|
|
|
|
|
|
|
|
typedef void* HSMART70;
|
|
|
|
|
|
|
|
|
|
|
|
#define SMART70_DEFAULT_LENGTH 1012
|
|
#define SMART70_DEFAULT_HEIGHT 636
|
|
|
|
/*
|
|
* Supply
|
|
*/
|
|
#define SMART70_SUPPLY_AUTO 0x00
|
|
#define SMART70_SUPPLY_HOPPER 0x01
|
|
|
|
/*
|
|
* Tray
|
|
*/
|
|
#define SMART70_TRAY_CR80 0x00
|
|
|
|
/*
|
|
* Ribbon Type
|
|
*/
|
|
#define SMART70_RIBBON_YMCKO 0
|
|
#define SMART70_RIBBON_YMCKOK 1
|
|
#define SMART70_RIBBON_hYMCKO 2
|
|
#define SMART70_RIBBON_KO 3
|
|
#define SMART70_RIBBON_K 4
|
|
#define SMART70_RIBBON_BO 5
|
|
#define SMART70_RIBBON_B 6
|
|
#define SMART70_RIBBON_YMC 7
|
|
#define SMART70_RIBBON_YMCKFO 8
|
|
#define SMART70_RIBBON_REWRITABLE 9
|
|
#define SMART70_RIBBON_hYMCKOKO 11
|
|
#define SMART70_RIBBON_YMCKOKR 12
|
|
|
|
/*
|
|
* Ribbon - Resin
|
|
*/
|
|
#define SMART70_RESIN_BLACKTEXT 0x00 // Extract Black Text to RESIN Panel
|
|
#define SMART70_RESIN_BLACKDOT 0x01 // Extract Black Dot(Pixel) to RESIN Panel
|
|
#define SMART70_RESIN_NOTUSE 0x02 // No Extraction.
|
|
#define SMART70_RESIN_DYNAMIC 0x03 // use DC's ExtEscape().
|
|
|
|
/*
|
|
* Ribbon Split
|
|
*/
|
|
#define SMART70_RIBBONSPLIT_NORMAL 0x00
|
|
#define SMART70_RIBBONSPLIT_FORBACK 0x01
|
|
|
|
/*
|
|
* Flip Option
|
|
*/
|
|
#define SMART70_FLIP_NORMAL 0
|
|
#define SMART70_FLIP_VERTICAL 1
|
|
#define SMART70_FLIP_HORIZONTAL 2
|
|
#define SMART70_FLIP_ALL 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
* Color
|
|
*/
|
|
#define SMART70_COLOR_COLOR 0
|
|
#define SMART70_COLOR_BLACKNWHITE 1
|
|
|
|
/*
|
|
* Dithering
|
|
*/
|
|
#define SMART70_DITHER_THRESHOLD 0
|
|
#define SMART70_DITHER_RANDOM 1
|
|
#define SMART70_DITHER_DIFFUSION 2
|
|
#define SMART70_DITHER_HALFTONE 3
|
|
#define SMART70_DITHER_HALFTONE2 4
|
|
|
|
/*
|
|
* Print
|
|
*/
|
|
#define SMART70_PRINT_NOTUSE 0
|
|
#define SMART70_PRINT_USE 1
|
|
|
|
/*
|
|
* Print Side
|
|
*/
|
|
#define SMART70_PRINTSIDE_FRONT 0
|
|
#define SMART70_PRINTSIDE_BACK 1
|
|
#define SMART70_PRINTSIDE_BOTH 2
|
|
|
|
/*
|
|
* Print Side - Media
|
|
*/
|
|
#define SMART70_MEDIA_STANDARD 0
|
|
#define SMART70_MEDIA_SMART 1 // Exclude IC Chip Area
|
|
#define SMART70_MEDIA_SMARTRIGHT 2 // Exclude Left of IC Chip Area
|
|
#define SMART70_MEDIA_MSISO 3 // Exclude MS ISO Track Area
|
|
#define SMART70_MEDIA_MSJIS 4 // Exclude MS JIS Track Area
|
|
#define SMART70_MEDIA_SMARTMSJIS 5 // Exclude MS JIS Track and IC Chip Area
|
|
#define SMART70_MEDIA_NOOVERLAY 6 // No Overlay
|
|
#define SMART70_MEDIA_USERDEFINED 7 // Use User Defined Bitmap
|
|
#define SMART70_MEDIA_DYNAMIC 8 // use DC's ExtEscape().
|
|
#define SMART70_MEDIA_BITMAP L"cardprinter_mask_" // $SYSTEM32\cardprinter_mask_#.bmp
|
|
|
|
|
|
/*
|
|
* Eject
|
|
*/
|
|
#define SMART_EJECT_EJECT_CARD 0
|
|
#define SMART_EJECT_HOLD_CARD 1
|
|
|
|
|
|
|
|
/*
|
|
* SMART-70
|
|
*/
|
|
|
|
#define SMART70_PRINT_NOTUSE 0
|
|
#define SMART70_PRINT_USE 1
|
|
|
|
#define SMART70_PRINTSIDE_FRONT 0
|
|
#define SMART70_PRINTSIDE_BACK 1
|
|
#define SMART70_PRINTSIDE_BOTH 2
|
|
|
|
#define SMART70_QUALITY_STANDARD 0
|
|
#define SMART70_QUALITY_PARTIAL 1
|
|
|
|
#define SMART70_SPEED_NORMAL 1
|
|
#define SMART70_SPEED_HIGH 2
|
|
|
|
#define SMART70_LAMIN_NOTUSE 0
|
|
#define SMART70_LAMIN_USE 1
|
|
|
|
#define SMART70_LAMIN_TOP 0
|
|
#define SMART70_LAMIN_BOTTOM 1
|
|
#define SMART70_LAMIN_BOTH 2
|
|
|
|
#define SMART70_LAMIN_OVERLAY_NOTUSE 0
|
|
#define SMART70_LAMIN_OVERLAY_USE 1
|
|
|
|
#define SMART70_MODULE_INTERNAL 0
|
|
#define SMART70_MODULE_EXTERNAL 1
|
|
#define SMART70_MODULE_BOTH 2
|
|
|
|
#define SMART70_MAG_COER_AUTO 0
|
|
#define SMART70_MAG_COER_LO 1
|
|
#define SMART70_MAG_COER_HI 2
|
|
|
|
#define SMART70_MAG_OPTION_FORWARD 0
|
|
#define SMART70_MAG_OPTION_BACKWARD 1
|
|
#define SMART70_MAG_OPTION_BITMODE 2
|
|
|
|
#define SMART70_MAG_FLIP_NOTUSE 0
|
|
#define SMART70_MAG_FLIP_USE 1
|
|
|
|
#define SMART70_MAG_NOTUSE 0
|
|
#define SMART70_MAG_USE 1
|
|
|
|
//#define SMART70_MAG_INTERNAL 0 // ==> SMART70_MODULE_INTERNAL
|
|
//#define SMART70_MAG_EXTERNAL 1
|
|
//#define SMART70_MAG_BOTH 2
|
|
|
|
#define SMART70_MAG_ENCODING_ISO 0
|
|
#define SMART70_MAG_ENCODING_BALLYS 1
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _OEM_DMEXTRAHEADER {
|
|
DWORD dwSize;
|
|
DWORD dwSignature;
|
|
DWORD dwVersion;
|
|
} OEM_DMEXTRAHEADER, *POEM_DMEXTRAHEADER;
|
|
|
|
typedef struct tagOEMDEV
|
|
{
|
|
OEM_DMEXTRAHEADER dmOEMExtra;
|
|
|
|
//Color Correction
|
|
DWORD dwASMain;
|
|
DWORD dwASYellow;
|
|
DWORD dwASMagenta;
|
|
DWORD dwASCyan;
|
|
DWORD dwASBlack;
|
|
DWORD dwASOverlay;
|
|
|
|
//Resin Black(K) Processing
|
|
DWORD dwASBPText;
|
|
DWORD dwASBPDot;
|
|
DWORD dwASBPThreshold;
|
|
DWORD dwASBPDitherDegree;
|
|
DWORD dwASBPResin;
|
|
|
|
//RewritableControl
|
|
DWORD dwASErase;
|
|
|
|
//Wait Control
|
|
DWORD dwASWaitInRFUse;
|
|
DWORD dwASWaitInRFSide;
|
|
DWORD dwASWaitInRFPos;
|
|
DWORD dwASWaitInRFTime;
|
|
DWORD dwASWaitExRFUse;
|
|
DWORD dwASWaitExRFSide;
|
|
DWORD dwASWaitExRFPos;
|
|
DWORD dwASWaitExRFTime;
|
|
DWORD dwASWaitExICUse;
|
|
DWORD dwASWaitExICSide;
|
|
DWORD dwASWaitExICPos;
|
|
DWORD dwASWaitExICTime;
|
|
|
|
// INPUT / OUTPUT
|
|
DWORD dwIOSupply;
|
|
DWORD dwIOTray;
|
|
DWORD dwIOOutput;
|
|
|
|
// PRINTING 1
|
|
DWORD dwPrtUse;
|
|
DWORD dwPrtSide;
|
|
DWORD dwPrtColorFront;
|
|
DWORD dwPrtColorBack;
|
|
DWORD dwPrtMediaFront;
|
|
DWORD dwPrtMediaBack;
|
|
WCHAR strPrtMediaUserFront[1024];
|
|
WCHAR strPrtMediaUserBack[1024];
|
|
DWORD dwPrtRibbon;
|
|
DWORD dwPrtQuality;
|
|
DWORD dwPrtSpeed;
|
|
DWORD dwPrtHeatControl;
|
|
DWORD dwPrtFlipFront;
|
|
DWORD dwPrtFlipBack;
|
|
DWORD dwPrtDither;
|
|
DWORD dwPrtRibbonSplit;
|
|
|
|
// PRINTING 2
|
|
DWORD dwPrtUse2;
|
|
DWORD dwPrtSide2;
|
|
DWORD dwPrtColorFront2;
|
|
DWORD dwPrtColorBack2;
|
|
DWORD dwPrtMediaFront2;
|
|
DWORD dwPrtMediaBack2;
|
|
WCHAR strPrtMediaUserFront2[1024];
|
|
WCHAR strPrtMediaUserBack2[1024];
|
|
DWORD dwPrtRibbon2;
|
|
DWORD dwPrtQuality2;
|
|
DWORD dwPrtSpeed2;
|
|
DWORD dwPrtHeatControl2;
|
|
DWORD dwPrtFlipFront2;
|
|
DWORD dwPrtFlipBack2;
|
|
DWORD dwPrtDither2;
|
|
DWORD dwPrtRibbonSplit2;
|
|
|
|
// LAMINATING 1
|
|
DWORD dwLamUse;
|
|
DWORD dwLamSide;
|
|
DWORD dwLamOverlay;
|
|
|
|
// LAMINATING 2
|
|
DWORD dwLamUse2;
|
|
DWORD dwLamSide2;
|
|
DWORD dwLamReserved2;
|
|
|
|
// ENCODING
|
|
DWORD dwEncUse;
|
|
DWORD dwEncModule;
|
|
DWORD dwEncInCoer;
|
|
DWORD dwEncInOption;
|
|
DWORD dwEncInMagFlip;
|
|
DWORD dwEncInEncoding;
|
|
WCHAR strEncInTrack1[1024];
|
|
WCHAR strEncInTrack2[1024];
|
|
WCHAR strEncInTrack3[1024];
|
|
WCHAR strEncInJISTrack[1024];
|
|
DWORD dwEncExCoer;
|
|
DWORD dwEncExOption;
|
|
DWORD dwEncExMagFlip;
|
|
DWORD dwEncExEncoding;
|
|
WCHAR strEncExTrack1[1024];
|
|
WCHAR strEncExTrack2[1024];
|
|
WCHAR strEncExTrack3[1024];
|
|
WCHAR strEncExJISTrack[1024];
|
|
DWORD dwASCorrectColor;
|
|
DWORD dwASCorrectMono;
|
|
DWORD dwASCorrectOverlay;
|
|
DWORD dwEncInMagRepeat;
|
|
DWORD dwEncExMagRepeat;
|
|
DWORD dwOptSeparate;
|
|
DWORD dwASFastAlignment;
|
|
DWORD dwPrtAntiAliasing;
|
|
BYTE reserved[32];
|
|
} OEMDEV, *POEMDEV;
|
|
|
|
typedef struct {
|
|
DEVMODEW devmode;
|
|
#if defined(_MFC_VER) && (_MFC_VER <= 0x0600)
|
|
DWORD dummy1;
|
|
DWORD dummy2;
|
|
#endif
|
|
BYTE reserved[564];
|
|
OEMDEV oemdev;
|
|
} SMART70_DEVMODE;
|
|
|
|
#define SMART_DEVMODE SMART70_DEVMODE
|
|
|
|
|
|
|
|
|
|
#define SMART70_COUNTPARAM_VER_LATEST 0
|
|
|
|
typedef struct
|
|
{
|
|
int ver; // current version is 0.
|
|
|
|
// [ver == 0] -------------
|
|
int img; // image issue count
|
|
int mag; // magnetic issue count
|
|
int contact; // contact smart card issue count
|
|
int sim; // SIM card issue count
|
|
int contactless_ext; // contactless smart card (external) issue count
|
|
int contactless_int; // contactless smart card (internal) issue count
|
|
int cleanskip; // cleaning skip count
|
|
int cleaning; // cleaning count
|
|
} COUNTPARAM;
|
|
|
|
|
|
|
|
#define SMART70_SYSINFO_VER_0 0
|
|
#define SMART70_SYSINFO_VER_LASTEST SMART70_SYSINFO_VER_0
|
|
|
|
#define SMART70_MAX_VER_LEN 32
|
|
#define SMART70_MAX_SERIAL_LEN 24
|
|
|
|
typedef struct
|
|
{
|
|
int ver; // structure version (= SMART70_SYSINFO_VER_0)
|
|
|
|
// [ver == 0] -------------
|
|
struct {
|
|
WCHAR ver[SMART70_MAX_VER_LEN]; // printer f/w ver.
|
|
WCHAR serial[SMART70_MAX_SERIAL_LEN]; // printer serial number
|
|
WCHAR hserial[SMART70_MAX_SERIAL_LEN]; // thermal header serial number
|
|
BYTE reserved[32];
|
|
} printer;
|
|
struct {
|
|
BOOL installed; // flag for laminator installation
|
|
WCHAR ver[SMART70_MAX_VER_LEN]; // laminator f/w ver.
|
|
WCHAR serial[SMART70_MAX_SERIAL_LEN]; // laminator serial number
|
|
BYTE reserved[32];
|
|
} laminator;
|
|
} SMART_SYSINFO;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum
|
|
{
|
|
obj_rect,
|
|
obj_roundrect,
|
|
obj_oval,
|
|
obj_line,
|
|
obj_image,
|
|
obj_text,
|
|
obj_bar,
|
|
} S70ObjType;
|
|
|
|
|
|
|
|
|
|
#ifdef MAKE_LONIBBLE
|
|
# undef MAKE_LONIBBLE
|
|
#endif//
|
|
#ifdef MAKE_HINIBBLE
|
|
# undef MAKE_HINIBBLE
|
|
#endif//
|
|
#ifdef GET_LONIBBLE
|
|
# undef GET_LONIBBLE
|
|
#endif//
|
|
#ifdef GET_HINIBBLE
|
|
# undef GET_HINIBBLE
|
|
#endif//
|
|
#ifdef MAKE_ALIGN
|
|
# undef MAKE_ALIGN
|
|
#endif//
|
|
#ifdef GET_HALIGN
|
|
# undef GET_HALIGN
|
|
#endif//
|
|
#ifdef GET_VALIGN
|
|
# undef GET_VALIGN
|
|
#endif//
|
|
#ifdef SET_HALIGN
|
|
# undef SET_HALIGN
|
|
#endif//
|
|
#ifdef SET_VALIGN
|
|
# undef SET_VALIGN
|
|
#endif//
|
|
|
|
#define SMART70_OBJ_ALIGN_LEFT 0x00
|
|
#define SMART70_OBJ_ALIGN_CENTER 0x01
|
|
#define SMART70_OBJ_ALIGN_RIGHT 0x02
|
|
#define SMART70_OBJ_ALIGN_JUSTIFY 0x03 // text object only...
|
|
#define SMART70_OBJ_ALIGN_HNOALIGN 0x04
|
|
#define SMART70_OBJ_ALIGN_TOP 0x00
|
|
#define SMART70_OBJ_ALIGN_MIDDLE 0x10
|
|
#define SMART70_OBJ_ALIGN_BOTTOM 0x20
|
|
#define SMART70_OBJ_ALIGN_VNOALIGN 0x30
|
|
#define SMART70_OBJ_ALIGN_HORZMASK 0x0F
|
|
#define SMART70_OBJ_ALIGN_VERTMASK 0xF0
|
|
#define MAKE_LONIBBLE(nb) ( (nb) & 0x0F )
|
|
#define MAKE_HINIBBLE(nb) ( ((nb) & 0x0F) << 4 )
|
|
#define GET_LONIBBLE(bt) ( (bt) & 0x0F )
|
|
#define GET_HINIBBLE(bt) ( ((bt) & 0xF0 ) >> 4 )
|
|
#define MAKE_ALIGN(h,v) ( (h) | (v) )
|
|
#define SMART70_OBJ_ALIGN_NOALIGN (SMART70_OBJ_ALIGN_VNOALIGN|SMART70_OBJ_ALIGN_HNOALIGN)
|
|
#define GET_HALIGN(a) ((a)&SMART70_OBJ_ALIGN_HORZMASK) //GET_HINIBBLE(a)
|
|
#define GET_VALIGN(a) ((a)&SMART70_OBJ_ALIGN_VERTMASK) //GET_LONIBBLE(a)
|
|
#define SET_HALIGN(a,h) MAKE_ALIGN(h,GET_VALIGN(a))
|
|
#define SET_VALIGN(a,v) MAKE_ALIGN(GET_HALIGN(a),v)
|
|
|
|
|
|
#define SMART70_IMGSCALE_FITHORZ 0x00 // scale to fit to width of frame
|
|
#define SMART70_IMGSCALE_FITVERT 0x01 // scale to fit to height of frame
|
|
#define SMART70_IMGSCALE_FITFRAME 0x02 // scale to fit to frame.
|
|
#define SMART70_IMGSCALE_USER 0x03 // scale factor is user setted.
|
|
#define SMART70_IMGSCALE_BEST SMART70_IMGSCALE_FITHORZ
|
|
#define SMART70_IMGSCALE_BASEAMP 10000 // default amplyfiying value
|
|
|
|
#define SMART70_IMGEFFECT_CONTRASTMIN -100
|
|
#define SMART70_IMGEFFECT_CONTRASTMAX 100 //412
|
|
#define SMART70_IMGEFFECT_BRIGHTMIN -256
|
|
#define SMART70_IMGEFFECT_BRIGHTMAX 255
|
|
|
|
#define SMART70_IMGEFFECT_CONTRASTMIN -100
|
|
#define SMART70_IMGEFFECT_CONTRASTMAX 100 //412
|
|
#define SMART70_IMGEFFECT_BRIGHTMIN -256
|
|
#define SMART70_IMGEFFECT_BRIGHTMAX 255
|
|
|
|
#define SMART70_FONT_NORMAL 0x00
|
|
#define SMART70_FONT_BOLD 0x01
|
|
#define SMART70_FONT_ITALIC 0x02
|
|
#define SMART70_FONT_UNDERLINE 0x04
|
|
|
|
#define SMART70_TEXT_NOFIT 0 // use font size
|
|
#define SMART70_TEXT_FITHEIGHT 1 // font is sized to frame's height
|
|
#define SMART70_TEXT_FITWIDTH 2 // font is sized to frame's width
|
|
#define SMART70_TEXT_FITBOTH 3 // font is sized to frame's width and height
|
|
#define SMART70_TEXT_AUTOSIZE 4
|
|
#define SMART70_TEXT_SIZEMASK 0x000F
|
|
|
|
|
|
// border style
|
|
#define BS_NONE 5
|
|
#define BS_SOLID 0
|
|
#define BS_DASH 1
|
|
#define BS_DOT 2
|
|
#define BS_DASHDOT 3
|
|
#define BS_DASHDOTDOT 4
|
|
|
|
|
|
#define SMART70_OTB_NONE 0x0000
|
|
#define SMART70_OTB_FromEnum(e) (1 << (e))
|
|
#define SMART70_OTB_RECT SMART70_OTB_FromEnum(obj_rect)
|
|
#define SMART70_OTB_ROUNDRECT SMART70_OTB_FromEnum(obj_roundrect)
|
|
#define SMART70_OTB_OVAL SMART70_OTB_FromEnum(obj_oval)
|
|
#define SMART70_OTB_LINE SMART70_OTB_FromEnum(obj_line)
|
|
#define SMART70_OTB_IMAGE SMART70_OTB_FromEnum(obj_image)
|
|
#define SMART70_OTB_TEXT SMART70_OTB_FromEnum(obj_text)
|
|
#define SMART70_OTB_BAR SMART70_OTB_FromEnum(obj_bar)
|
|
|
|
#define SMART70_UNITTYPE_TEXT SMART70_OTB_TEXT
|
|
#define SMART70_UNITTYPE_IMAGE SMART70_OTB_IMAGE
|
|
#define SMART70_UNITTYPE_BARCODE SMART70_OTB_BAR
|
|
|
|
#define SMART70_UNITINFO_FIRST 0
|
|
#define SMART70_UNITINFO_NEXT 1
|
|
|
|
|
|
#define SMART70_MAX_FIELDNAMELEN 32
|
|
#define SMART70_MAX_FIELDVALUELEN 1024
|
|
|
|
#define SMART70_FIELD_PREFIX L'~'
|
|
|
|
#define SMART70_MAX_BARCODENAME 64
|
|
|
|
|
|
typedef struct _tagFontInfo
|
|
{
|
|
int size;
|
|
BYTE style;
|
|
COLORREF color;
|
|
WCHAR name[LF_FACESIZE];
|
|
} S70FontInfo;
|
|
|
|
typedef struct _tagFontInfo2
|
|
{
|
|
int size; // font size
|
|
int size2; // font width size (for slim or large sized text...)
|
|
BYTE style;
|
|
COLORREF color;
|
|
WCHAR name[LF_FACESIZE];
|
|
} FontInfo2;
|
|
|
|
typedef struct _tagBorder
|
|
{
|
|
USHORT type; // using PenStyle. PS_SOLID, ...
|
|
USHORT width; // mm type....
|
|
COLORREF color;
|
|
} S70Border;
|
|
|
|
typedef struct _tagBackGround
|
|
{
|
|
BOOL fill;
|
|
COLORREF color;
|
|
BYTE transparency; // % unit. (0:Opaque, 100:transparent)
|
|
} S70BackGround;
|
|
|
|
typedef struct _tagLaser
|
|
{
|
|
int power;
|
|
int speed;
|
|
int frequency;
|
|
int angle;
|
|
int reserved[16];
|
|
} S70Laser;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
short leftMargin; // spaceLeft
|
|
short topMargin; // spaceTop
|
|
short rightMargin; // spaceRight
|
|
short bottomMargin; // spaceBottom
|
|
BYTE align;
|
|
S70FontInfo font;
|
|
|
|
WCHAR field[SMART70_MAX_FIELDNAMELEN+1];
|
|
} S70UNITTEXT;
|
|
|
|
typedef struct
|
|
{
|
|
int widthZoom;
|
|
int heightZoom;
|
|
short contrast;
|
|
short brightness;
|
|
BOOL grayscale;
|
|
USHORT align;
|
|
POINT offset;
|
|
BYTE scaleMethod;
|
|
int round;
|
|
|
|
WCHAR field[SMART70_MAX_FIELDNAMELEN+1];
|
|
} S70UNITIMAGE;
|
|
|
|
typedef struct
|
|
{
|
|
int type;
|
|
int size;
|
|
int option;
|
|
SIZE size2D;
|
|
COLORREF barColor;
|
|
|
|
WCHAR field[SMART70_MAX_FIELDNAMELEN+1];
|
|
} S70UNITBAR;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
int index;
|
|
int type;
|
|
BYTE page;
|
|
BYTE panel;
|
|
int left;
|
|
int top;
|
|
int width;
|
|
int height;
|
|
int rotate;
|
|
S70Border border;
|
|
S70BackGround back;
|
|
|
|
union
|
|
{
|
|
S70UNITTEXT txt;
|
|
S70UNITIMAGE img;
|
|
S70UNITBAR bar;
|
|
};
|
|
} S70UNITINFO;
|
|
|
|
|
|
|
|
|
|
#define SMART70_UNITINFO2_VER_1 1
|
|
#define SMART70_UNITINFO2_VER_2 2
|
|
#define SMART70_UNITINFO2_VER SMART70_UNITINFO2_VER_2
|
|
|
|
typedef struct
|
|
{
|
|
short leftMargin; // spaceLeft
|
|
short topMargin; // spaceTop
|
|
short rightMargin; // spaceRight
|
|
short bottomMargin; // spaceBottom
|
|
BYTE align;
|
|
S70FontInfo font;
|
|
WCHAR field[SMART70_MAX_FIELDNAMELEN+1];
|
|
BYTE reserved[32]; // must be 0
|
|
} UNITTEXT2;
|
|
|
|
|
|
#define SMART70_UIMG2OPT_OFFSET_ORIGIN 0x0000 // UNITIMAGE2::offset value is original (before-rotating) offset point.
|
|
#define SMART70_UIMG2OPT_OFFSET_DRAW 0x0001 // UNITIMAGE2::offset value is drawing point (applied-rotation).
|
|
#define SMART70_UIMG2OPT_OFFSET_MASK 0x0001
|
|
|
|
typedef struct
|
|
{
|
|
int option;
|
|
int widthZoom;
|
|
int heightZoom;
|
|
short contrast;
|
|
short brightness;
|
|
BOOL grayscale;
|
|
USHORT align;
|
|
POINT offset;
|
|
BYTE scaleMethod;
|
|
int round;
|
|
BOOL autoportrait;
|
|
BOOL autoeffect;
|
|
WCHAR field[SMART70_MAX_FIELDNAMELEN+1];
|
|
BYTE reserved[32];
|
|
} UNITIMAGE2;
|
|
|
|
typedef struct
|
|
{
|
|
int type;
|
|
int size;
|
|
int option;
|
|
SIZE size2D;
|
|
COLORREF barColor;
|
|
WCHAR field[SMART70_MAX_FIELDNAMELEN+1];
|
|
BYTE reserved[32];
|
|
} UNITBAR2;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
int ver;
|
|
int index; // zero-based index from ElementList...
|
|
int type; // this is not EQUAL with CGObj's one.
|
|
// objType can have the value within SMART70_UNITTYPE_TEXT, SMART70_UNITTYPE_IMAGE and SMART70_UNITTYPE_BARCODE.
|
|
BYTE page;
|
|
BYTE panel;
|
|
int left; // offsetLeft
|
|
int top; // offsetTop
|
|
int width;
|
|
int height;
|
|
int rotate;
|
|
S70Border border;
|
|
S70BackGround back;
|
|
|
|
union
|
|
{
|
|
UNITTEXT2 txt;
|
|
UNITIMAGE2 img;
|
|
UNITBAR2 bar;
|
|
};
|
|
|
|
S70Laser laser;
|
|
} UNITINFO2;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
DWORD oiSize; // entire struct size. struct size + extended data size
|
|
DWORD oiIndex; // object index
|
|
BYTE oiPage;
|
|
BYTE oiPanel;
|
|
int oiLeft;
|
|
int oiTop;
|
|
int oiWidth;
|
|
int oiHeight;
|
|
int oiRotate;
|
|
BOOL oiPrintable; // print or not ...
|
|
int oiType; // object type
|
|
S70Border oiBorder;
|
|
S70BackGround oiBack;
|
|
|
|
union
|
|
{
|
|
struct {
|
|
int oirrRound;
|
|
} oiRRect;
|
|
struct {
|
|
short oitLeftSpace;
|
|
short oitTopSpace;
|
|
short oitRightSpace;
|
|
short oitBottomSpace;
|
|
BYTE oitAlign;
|
|
int oitFitOn;
|
|
FontInfo2 oitFont;
|
|
int oitField;
|
|
DWORD oitTextPos; // offset position of wide-char string data..
|
|
DWORD oitTextLen; // data length..
|
|
/////////////////////////////////
|
|
// [ OBJ_INFO ]
|
|
// - base structure members 0 ~ ...
|
|
// - oiText strcuture members ... ~ sizeof(OBJ_INFO)
|
|
// -------------------------------
|
|
// +
|
|
// - text data additional data area...
|
|
/////////////////////////////////
|
|
} oiText;
|
|
struct {
|
|
int oiiWidth;
|
|
int oiiHeight;
|
|
DWORD oiiZoomWidth; // unit is permil. SMART70_IMGSCALE_BASEAMP: use origin size of image
|
|
DWORD oiiZoomHeight; // unit is permil. SMART70_IMGSCALE_BASEAMP: use origin size of image
|
|
short oiiContrast; // -100 ~ . default value is 0.
|
|
short oiiBrightness; // -256 ~ 255. default value is 0.
|
|
BOOL oiiGrayscaled;
|
|
USHORT oiiAlign;
|
|
POINT oiiOffset; // offset position in left-upper corner of frame
|
|
BYTE oiiScale; // image scaling method...
|
|
COLORREF oiiTransColor;
|
|
int oiiTransRange;
|
|
int oiiRound;
|
|
int oiiField;
|
|
DWORD oiiImgNamePos; // offset position of wide-char string data..
|
|
DWORD oiiImgNameLen; // data length..
|
|
/////////////////////////////////
|
|
// [ OBJ_INFO ]
|
|
// - base structure members 0 ~ ...
|
|
// - oiImage strcuture members ... ~ sizeof(OBJ_INFO)
|
|
// -------------------------------
|
|
// +
|
|
// - image url(file-path) data additional data area...
|
|
/////////////////////////////////
|
|
} oiImage;
|
|
struct {
|
|
WCHAR oibName[SMART70_MAX_BARCODENAME];
|
|
int oibSize;
|
|
int oibOpt;
|
|
short oib2DOpt1;
|
|
short oib2DOpt2;
|
|
COLORREF oibColor;
|
|
int oibField;
|
|
DWORD oibDataPos; // barcode-data position.
|
|
DWORD oibDataLen; // barcode-data length.
|
|
DWORD oibExDataPos; // zip-postal data. it is used only "MaxiCode" type.
|
|
DWORD oibExDataLen; // zip-postal data. it is used only "MaxiCode" type.
|
|
/////////////////////////////////
|
|
// [ OBJ_INFO ]
|
|
// - base structure members 0 ~ ...
|
|
// - oiBar strcuture members ... ~ sizeof(OBJ_INFO)
|
|
// -------------------------------
|
|
// +
|
|
// - barcode data additional data area...
|
|
// - zip-postal data (if necessary)
|
|
/////////////////////////////////
|
|
} oiBar;
|
|
};
|
|
} OBJ_INFO;
|
|
|
|
|
|
#define OBJINFO2_VER_2 2
|
|
#define OBJINFO2_VER OBJINFO2_VER_2
|
|
|
|
#define LINE_FLIP_HORZ 0x01
|
|
#define LINE_FLIP_VERT 0x02
|
|
|
|
typedef struct
|
|
{
|
|
DWORD oiVer; // OBJINFO_VER
|
|
DWORD oiSize; // base structure size. = sizeof(OBJ_INFO2)
|
|
DWORD oiWholeSize; // entire struct size. include datas. = sizeof(OBJ_INFO2) + extend data size
|
|
DWORD oiIndex; // object index
|
|
BYTE oiPage;
|
|
BYTE oiPanel;
|
|
int oiLeft;
|
|
int oiTop;
|
|
int oiWidth;
|
|
int oiHeight;
|
|
int oiRotate;
|
|
BOOL oiPrintable; // print or not ...
|
|
int oiType; // object type
|
|
S70Border oiBorder;
|
|
S70BackGround oiBack;
|
|
S70Laser oiLaser;
|
|
|
|
union
|
|
{
|
|
struct {
|
|
int oirrRound;
|
|
} oiRRect;
|
|
struct {
|
|
short oitLeftSpace;
|
|
short oitTopSpace;
|
|
short oitRightSpace;
|
|
short oitBottomSpace;
|
|
BYTE oitAlign;
|
|
int oitOption;
|
|
FontInfo2 oitFont;
|
|
int oitField;
|
|
DWORD oitTextPos; // offset position of wide-char string data..
|
|
DWORD oitTextLen; // data length..
|
|
} oiText;
|
|
struct {
|
|
int oiiWidth;
|
|
int oiiHeight;
|
|
DWORD oiiZoomWidth; // unit is permil. IMGSCALE_BASEAMP: use origin size of image
|
|
DWORD oiiZoomHeight; // unit is permil. IMGSCALE_BASEAMP: use origin size of image
|
|
short oiiContrast; // -100 ~ . default value is 0.
|
|
short oiiBrightness; // -256 ~ 255. default value is 0.
|
|
BOOL oiiGrayscaled;
|
|
USHORT oiiAlign;
|
|
POINT oiiOffset; // offset position in left-upper corner of frame
|
|
BYTE oiiScale; // image scaling method...
|
|
COLORREF oiiTransColor;
|
|
int oiiTransRange;
|
|
int oiiRound;
|
|
int oiiField;
|
|
DWORD oiiImgNamePos; // offset position of wide-char string data..
|
|
DWORD oiiImgNameLen; // data length..
|
|
} oiImage;
|
|
struct {
|
|
WCHAR oibName[SMART70_MAX_BARCODENAME];
|
|
int oibSize;
|
|
int oibOpt;
|
|
short oib2DOpt1;
|
|
short oib2DOpt2;
|
|
COLORREF oibColor;
|
|
int oibField;
|
|
DWORD oibDataPos;
|
|
DWORD oibDataLen;
|
|
DWORD oibExDataPos; // zip-postal data. it is used only "MaxiCode" type.
|
|
DWORD oibExDataLen; // zip-postal data. it is used only "MaxiCode" type.
|
|
} oiBar;
|
|
struct {
|
|
int oilFlip; // LINE_FLIP_HORZ | LINE_FLIP_VERT
|
|
} oiLine;
|
|
};
|
|
} OBJ_INFO2;
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
int x;
|
|
int y;
|
|
int cx;
|
|
int cy;
|
|
int rotate;
|
|
int align;
|
|
int fontHeight;
|
|
int fontWidth;
|
|
int style;
|
|
COLORREF color;
|
|
int option;
|
|
WCHAR szFaceName[LF_FACESIZE]; //LF_FACESIZE = 32
|
|
} DT2INFO;
|
|
|
|
#define SMART70_MAX_FIELDNAMELEN 32
|
|
#define SMART70_MAX_FIELDDATALEN 1024
|
|
|
|
|
|
typedef struct
|
|
{
|
|
DWORD fiIndex;
|
|
WCHAR fiName[SMART70_MAX_FIELDNAMELEN];
|
|
DWORD fiDataLen;
|
|
WCHAR fiData[SMART70_MAX_FIELDDATALEN];
|
|
} FIELD_INFO;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef int (WINAPI * Smart70_GetDeviceList)(SMART70_PRINTER_LIST* pDevList);
|
|
typedef int (WINAPI * Smart70_ExGetDeviceList)(SMART70_PRINTER_LIST* pDevList, int opt);
|
|
typedef int (WINAPI * Smart70_GetDeviceInfo)(SMART70_PRINTER_INFO* pDevInfo, WCHAR* szdev, int ndevtype );
|
|
typedef int (WINAPI * Smart70_OpenDevice)(HSMART70* pHandle, WCHAR* szdev, int ndevtype);
|
|
typedef int (WINAPI * Smart70_ExOpenDevice)(HSMART70* pHandle, WCHAR* szdev, int ndevtype);
|
|
typedef int (WINAPI * Smart70_CloseDevice)(HSMART70 hHandle);
|
|
|
|
typedef int (WINAPI * Smart70_GetRibbonInfo)(HSMART70 hHandle, BYTE mod, int* pnType, int* pnRemain, int* pnMax);
|
|
typedef int (WINAPI * Smart70_GetConnectedDevices)(HSMART70 hSC, SMART70_DEVCONNLIST* pConnList);
|
|
typedef int (WINAPI * Smart70_GetConnectedModules)(HSMART70 hSC, SMART70_DEVCONNLIST* pConnList);
|
|
typedef int (WINAPI * Smart70_ICHContact)(HSMART70 hHandle, BYTE mod);
|
|
typedef int (WINAPI * Smart70_ICHDiscontact)(HSMART70 hHandle, BYTE mod);
|
|
typedef int (WINAPI * Smart70_OpenDocument)(HSMART70 hHandle, const WCHAR* szCSDName);
|
|
typedef int (WINAPI * Smart70_CloseDocument)(HSMART70 hHandle);
|
|
typedef int (WINAPI * Smart70_ClearDocument)(HSMART70 hHandle, int page);
|
|
typedef int (WINAPI * Smart70_GetFieldCount)(HSMART70 hHandle, int* pnCount);
|
|
typedef int (WINAPI * Smart70_GetFieldName)(HSMART70 hHandle, int idx, WCHAR* szName, DWORD dwBufLen);
|
|
typedef int (WINAPI * Smart70_GetFieldValue)(HSMART70 hHandle, const WCHAR* szName, WCHAR* szValue);
|
|
typedef int (WINAPI * Smart70_SetFieldValue)(HSMART70 hHandle, const WCHAR* szName, const WCHAR* szValue);
|
|
typedef int (WINAPI * Smart70_DrawImage)(HSMART70 hHandle, BYTE page, BYTE panel, int x, int y, int cx, int cy, WCHAR* szImgPath, RECT* prcArea);
|
|
typedef int (WINAPI * Smart70_ExDrawImage)(HSMART70 hHandle, BYTE page, BYTE panel, int x, int y, int cx, int cy, int nScaleMethod, BYTE nAlign, WCHAR* szImgPath, RECT* prcArea);
|
|
typedef int (WINAPI * Smart70_DrawBitmap)(HSMART70 hSC, BYTE page, BYTE panel, int x, int y, int cx, int cy, HBITMAP hbmp, RECT* prcArea);
|
|
typedef int (WINAPI * Smart70_ExDrawBitmap)(HSMART70 hSC, BYTE page, BYTE panel, int x, int y, int cx, int cy, int nScaleMethod, BYTE nAlign, HBITMAP hbmp, RECT* prcArea);
|
|
typedef int (WINAPI * Smart70_DrawText)(HSMART70 hHandle, BYTE page, BYTE panel, int x, int y, WCHAR* szFontName, int nFontSize, BYTE nFontStyle, WCHAR* szText, RECT* prcArea);
|
|
typedef int (WINAPI * Smart70_DrawText2)(HSMART70 hHandle, BYTE page, BYTE panel, DT2INFO* pdt2info, WCHAR* szText);
|
|
typedef int (WINAPI * Smart70_DrawRect)(HSMART70 hHandle, BYTE page, BYTE panel, int x, int y, int cx, int cy, COLORREF col, RECT* prcArea);
|
|
typedef int (WINAPI * Smart70_DrawBarcode)(HSMART70 hHandle, BYTE page, BYTE panel, int x, int y, int cx, int cy, COLORREF col, RECT* prcArea, const WCHAR* szName, int nSize, const WCHAR* szData, const WCHAR* szPost);
|
|
typedef int (WINAPI * Smart70_GetBarcodeTypeCount)(HSMART70 hHandle, int* pnCount);
|
|
typedef int (WINAPI * Smart70_GetBarcodeTypeName)(HSMART70 hHandle, int idx, WCHAR* szName, int nBufLen);
|
|
typedef int (WINAPI * Smart70_GetPreviewBitmap)(HSMART70 hHandle, BYTE page, BITMAPINFO** const ppbi);
|
|
typedef int (WINAPI * Smart70_GetUnitInfo)(HSMART70 hHandle, S70UNITINFO* pUnit, int dir);
|
|
typedef int (WINAPI * Smart70_GetFieldLinkedUnitInfo)(HSMART70 hHandle, WCHAR* szField, S70UNITINFO* pUnit, int dir);
|
|
typedef int (WINAPI * Smart70_SetUnitInfo)(HSMART70 hHandle, S70UNITINFO* pUnit);
|
|
typedef int (WINAPI * Smart70_GetUnitInfo2)(HSMART70 hHandle, UNITINFO2* pUnit, int dir);
|
|
typedef int (WINAPI * Smart70_GetFieldLinkedUnitInfo2)(HSMART70 hHandle, WCHAR* szField, UNITINFO2* pUnit, int dir);
|
|
typedef int (WINAPI * Smart70_SetUnitInfo2)(HSMART70 hHandle, UNITINFO2* pUnit);
|
|
typedef int (WINAPI * Smart70_GetUnitInfo2Direct)(HSMART70 hHandle, UNITINFO2* pUnit);
|
|
typedef int (WINAPI * Smart70_GetICG)(HSMART70 hHandle, int page, int *pnICG);
|
|
typedef int (WINAPI * Smart70_SetICG)(HSMART70 hHandle, int page, int nICG);
|
|
typedef int (WINAPI * Smart70_GetVersion)(HSMART70 hSC, WCHAR* szBuf, int* pnBufLen);
|
|
typedef int (WINAPI * Smart70_IsBackEnable)(HSMART70 hHandle, BOOL* pbEnabled);
|
|
typedef int (WINAPI * Smart70_GetCountParam)(HSMART70 hHandle, COUNTPARAM* pParam);
|
|
typedef int (WINAPI * Smart70_GetCountParamEx)(HSMART70 hHandle, COUNTPARAM * pParams);
|
|
typedef int (WINAPI * Smart70_GetDisplayInfo)(HSMART70 hHandle, int* pnType, int* pnLang);
|
|
typedef int (WINAPI * Smart70_GetSystemInfo)(HSMART70 hHandle, SMART_SYSINFO* pSysInfo);
|
|
typedef int (WINAPI * Smart70_ReadUserMemory)(HSMART70 hHandle, WCHAR* szPW, int addr, BYTE* btdata);
|
|
typedef int (WINAPI * Smart70_WriteUserMemory)(HSMART70 hHandle, WCHAR* szPW, int addr, BYTE* btdata);
|
|
typedef int (WINAPI * Smart70_RFPowerOn)(HSMART70 hHandle, int nDev, int* pnCardType, DWORD* pdwOutLen, BYTE* pOutBuf);
|
|
typedef int (WINAPI * Smart70_RFPowerOn2)(HSMART70 hHandle, BYTE mod, DWORD* pdwOutLen, BYTE* pOutBuf);
|
|
typedef int (WINAPI * Smart70_RFPowerOff)(HSMART70 hHandle, int nDev);
|
|
typedef int (WINAPI * Smart70_RFPowerOff2)(HSMART70 hHandle, BYTE mod);
|
|
typedef int (WINAPI * Smart70_RFTransmit)(HSMART70 hHandle, int nDev, DWORD dwInLen, BYTE* pInBuf, DWORD* pdwOutLen, BYTE* pOutBuf);
|
|
typedef int (WINAPI * Smart70_RFTransmit2)(HSMART70 hHandle, BYTE mod, DWORD dwInLen, BYTE* pInBuf, DWORD* pdwOutLen, BYTE* pOutBuf);
|
|
typedef int (WINAPI * Smart70_ExRFPCSC_GetReaderName)(HSMART70 hHandle, int nWhich, WCHAR* szName);
|
|
typedef int (WINAPI * Smart70_ICPowerOn)(HSMART70 hHandle, int nDev, DWORD* pdwOutLen, BYTE* pOutBuf);
|
|
typedef int (WINAPI * Smart70_ICPowerOn2)(HSMART70 hHandle, BYTE mod, DWORD* pdwOutLen, BYTE* pOutBuf);
|
|
typedef int (WINAPI * Smart70_ICPowerOff)(HSMART70 hHandle, int nDev);
|
|
typedef int (WINAPI * Smart70_ICPowerOff2)(HSMART70 hHandle, BYTE mod);
|
|
typedef int (WINAPI * Smart70_ICTransmit)(HSMART70 hHandle, int nDev, DWORD dwInLen, BYTE* pInBuf, DWORD* pdwOutLen, BYTE* pOutBuf);
|
|
typedef int (WINAPI * Smart70_ICTransmit2)(HSMART70 hHandle, BYTE mod, DWORD dwInLen, BYTE* pInBuf, DWORD* pdwOutLen, BYTE* pOutBuf);
|
|
|
|
|
|
#ifdef _WIN64
|
|
typedef int (WINAPI * Smart70_ExSetConfig)(HSMART70 hHandle, int nID, __int64 nValue);
|
|
typedef int (WINAPI * Smart70_ExGetConfig)(HSMART70 hHandle, int nID, __int64* pnValue);
|
|
#else//_WIN64
|
|
typedef int (WINAPI * Smart70_ExSetConfig)(HSMART70 hHandle, int nID, int nValue);
|
|
typedef int (WINAPI * Smart70_ExGetConfig)(HSMART70 hHandle, int nID, int* pnValue);
|
|
#endif//_WIN64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
DWORD side;
|
|
DWORD orientation;
|
|
DWORD ribbon;
|
|
DWORD ribbon_type;
|
|
DWORD width;
|
|
DWORD height;
|
|
} SMART70_SURFACE_PROPERTIES;
|
|
|
|
typedef struct {
|
|
HDC hdcColor;
|
|
HDC hdcResin;
|
|
HDC hdcFluorescent;
|
|
HDC hdcOverlay;
|
|
HBITMAP hBmpColor;
|
|
HBITMAP hBmpResin;
|
|
HBITMAP hBmpFluorescent;
|
|
HBITMAP hBmpOverlay;
|
|
BYTE * lpPRN;
|
|
} SMART70_SURFACE_BITMAPS;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef int (WINAPI * Smart70DCL_OpenDevice)(HSMART70 *phHandle, WCHAR* szdev, int ndevtype, int nOrientation);
|
|
typedef int (WINAPI * Smart70DCL_OpenDevice3)(HSMART70 *phHandle, WCHAR* szDev, int port, BOOL bSSL, int nOrientation);
|
|
typedef int (WINAPI * Smart70DCL_CloseDevice)(HSMART70 hHandle);
|
|
typedef int (WINAPI * Smart70DCL_ExOpenDevice)(HSMART70 *phHandle, WCHAR* szdev, int ndevtype, int nOrientation);
|
|
typedef int (WINAPI * Smart70DCL_Print)(HSMART70 hHandle, int nPrintSide);
|
|
|
|
typedef int (WINAPI * Smart70_GetVersion)(HSMART70 hSC, WCHAR* szBuf, int* pnBufLen);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define SMART70_MAX_MODULES 10
|
|
|
|
#define SMART70_COMMAND_WAITFINISH 0x00
|
|
#define SMART70_COMMAND_ONLY 0x01
|
|
#define SMART70_PRINT_EJECT 0x00
|
|
#define SMART70_PRINT_HOLD 0x10
|
|
#define SMART70_PRINT_PRNONLY 0x20 // for internal use only. you cannot use SMART70_PRINT_PRNONLY and SMART70_PRINT_HOLD both.
|
|
|
|
#define SMART70_LEFTSIDE 0 // left : front
|
|
#define SMART70_RIGHTSIDE 1 // right : rear
|
|
|
|
|
|
// @Smart70_CardMove2
|
|
#define SMART70_MHOP_AUTO 0
|
|
#define SMART70_MHOP_HOP1 0x10
|
|
#define SMART70_MHOP_HOP2 0x20
|
|
#define SMART70_MHOP_HOP3 0x30
|
|
#define SMART70_MHOP_HOP4 0x40
|
|
#define SMART70_MHOP_HOP5 0x50
|
|
#define SMART70_MHOP_HOP6 0x60
|
|
|
|
// @Smart70_CardEject2
|
|
#define SMART70_EJECT_MHOP_LEFT 0x00000000 // eject option : multi-hopper eject to left side
|
|
#define SMART70_EJECT_MHOP_RIGHT 0x00000001 // eject option : multi-hopper eject to right side
|
|
#define SMART70_EJECT_MHOP_SIDE 0x00000001 // eject option : multi-hopper side mask
|
|
#define SMART70_EJECT_MHOP_HOP1 0x00010000 // eject option : multi-hopper hopper #1
|
|
#define SMART70_EJECT_MHOP_HOP2 0x00020000 // eject option : multi-hopper hopper #2
|
|
#define SMART70_EJECT_MHOP_HOP3 0x00030000 // eject option : multi-hopper hopper #3
|
|
#define SMART70_EJECT_MHOP_HOP4 0x00040000 // eject option : multi-hopper hopper #4
|
|
#define SMART70_EJECT_MHOP_HOPPER 0x00070000 // eject option : multi-hopper hopper mask
|
|
|
|
|
|
typedef struct {
|
|
BYTE from;
|
|
BYTE to;
|
|
int res;
|
|
} MOVECARD;
|
|
|
|
typedef struct {
|
|
int n;
|
|
MOVECARD card[SMART70_MAX_MODULES];
|
|
} CARDMOVELIST;
|
|
|
|
|
|
// Encoder Config
|
|
#define SMART70_ENCCFG_MAG_COER 0 // [set] set magnetic coercivity.
|
|
#define SMART70_ENCCFG_MIRU_IMAGE 10 // [get/set] miru image config (set:volatile)
|
|
#define SMART70_ENCCFG_MIRU 11 // [get] get MIRU config.
|
|
#define SMART70_ENCCFG_MIRU_GAIN 12 // [set]
|
|
#define SMART70_ENCCFG_MIRU_OFFSET 13 // [set]
|
|
#define SMART70_ENCCFG_MIRU_SPEED 14 // [set]
|
|
#define SMART70_ENCCFG_MIRU_SHADING 15 // [set]
|
|
|
|
// Encoder Specific Command - MIRU
|
|
#define SMART70_ENC_MIRU_VERSION 10 // [get] get version of miru
|
|
#define SMART70_ENC_MIRU_IMAGESAVE 11 // [set] miru image config save
|
|
#define SMART70_ENC_MIRU_IMAGEREAD 12 // [get +bulk] read and get image
|
|
#define SMART70_ENC_MIRU_READTOPBAR 13 // [get] get top side bar-codes
|
|
#define SMART70_ENC_MIRU_READBOTBAR 14 // [get] get bottom side bar-codes
|
|
#define SMART70_ENC_MIRU_SCANAREA 15 // [set] set the scanning area.
|
|
#define SMART70_ENC_MIRU_RESET 16 // [set] reset the scanner.
|
|
#define SMART70_ENC_MIRU_DOSHADING 17 // [get] do shading and get the result.
|
|
#define SMART70_ENC_MIRU_RESTORE 18 // [get] restore defaults and get the result.
|
|
|
|
// when SMART70_ENC_MIRU_IMAGEREAD, buffer is SMART70_MIRU_SAVEFILENAME [out].
|
|
typedef struct {
|
|
WCHAR * sztop;
|
|
WCHAR * szbottom;
|
|
} SMART70_MIRU_SAVEFILENAME;
|
|
|
|
|
|
|
|
#define MIRU_STATUS_DPI_300 300
|
|
#define MIRU_STATUS_DPI_600 600
|
|
|
|
#define MIRU_STATUS_MODE_GRAY 1
|
|
#define MIRU_STATUS_MODE_COLOR 3
|
|
|
|
#define MIRU_STATUS_SIDE_SINGLE 1
|
|
#define MIRU_STATUS_SIDE_DUAL 2
|
|
|
|
#define MIRU_STATUS_FACE_TOP 0
|
|
#define MIRU_STATUS_FACE_BOTTOM 1
|
|
|
|
#define MIRU_STATUS_DROP_NONE 0
|
|
#define MIRU_STATUS_DROP_BLUE 1
|
|
#define MIRU_STATUS_DROP_GREEN 2
|
|
#define MIRU_STATUS_DROP_RED 3
|
|
#define MIRU_STATUS_DROP_IR 4
|
|
|
|
#define MIRU_STATUS_GAIN_MIN 0
|
|
#define MIRU_STATUS_GAIN_MAX 63
|
|
|
|
#define MIRU_STATUS_OFFSET_MIN 0
|
|
#define MIRU_STATUS_OFFSET_MAX 511
|
|
|
|
#define MIRU_STATUS_SPEED_MIN 7400
|
|
#define MIRU_STATUS_SPEED_MAX 59200
|
|
|
|
#define MIRU_SHADING_OFF 0
|
|
#define MIRU_SHADING_ON 1
|
|
|
|
typedef struct {
|
|
int dpi;
|
|
int mode;
|
|
int side;
|
|
int face;
|
|
int drop;
|
|
} MIRU_IMAGE_CONFIG;
|
|
|
|
typedef struct {
|
|
int dpi;
|
|
int mode;
|
|
int side;
|
|
int face;
|
|
int drop;
|
|
int width;
|
|
int height;
|
|
int gain;
|
|
int offset;
|
|
int speed;
|
|
int state;
|
|
int cline;
|
|
int sline;
|
|
int b_trigger;
|
|
int b_shading;
|
|
int b_monitoring;
|
|
} MIRU_CONFIG;
|
|
|
|
|
|
|
|
// Encoder Track
|
|
#define SMART70_ENC_TRACK_MS1 0x01
|
|
#define SMART70_ENC_TRACK_MS2 0x02
|
|
#define SMART70_ENC_TRACK_MS3 0x04
|
|
#define SMART70_ENC_TRACK_JIS 0x08
|
|
#define SMART70_ENC_TRACK_BAR 0x10
|
|
|
|
// Encoder Option
|
|
#define SMART70_ENC_OPTION_NORMAL 0x00
|
|
#define SMART70_ENC_OPTION_BACKWARD 0x40
|
|
#define SMART70_ENC_OPTION_BITMODE 0x80
|
|
|
|
// Magnetic Coercivity
|
|
#define SMART70_ENC_MAGCOERCIVITY_LOCO 200
|
|
#define SMART70_ENC_MAGCOERCIVITY_HICO 600
|
|
#define SMART70_ENC_MAGCOERCIVITY_SPCO 800
|
|
|
|
#define SMART70_ENC_TRACK_MS1_MAX 76
|
|
#define SMART70_ENC_TRACK_MS2_MAX 37
|
|
#define SMART70_ENC_TRACK_MS3_MAX 104
|
|
#define SMART70_ENC_TRACK_JIS_MAX 69
|
|
|
|
#define SMART70_ENC_CL_DIR 1
|
|
|
|
|
|
|
|
#define JOB_WAIT 0
|
|
#define JOB_MOVE 1
|
|
#define JOB_PRINT 2
|
|
#define JOB_FLIP 3
|
|
#define JOB_LAMINATE 4
|
|
#define JOB_ERROR 5
|
|
#define JOB_LASER 6
|
|
|
|
#pragma pack(push,1)
|
|
typedef struct
|
|
{
|
|
int jobid; // job-id for request information, and you must fill this before request.
|
|
int work; // job's current working info. JOB_WAIT, ...
|
|
BYTE module; // module-id where the card is.
|
|
int remain; // the number of remain jobs in job pool, EXCEPT jobid.
|
|
// when the 'jobid' value is 0 'work' and 'module' does not have any information and
|
|
// 'remain' is ENTIRE jobs count.
|
|
} JOBINFO;
|
|
#pragma pack(pop)
|
|
|
|
|
|
#pragma pack(push,1)
|
|
typedef struct
|
|
{
|
|
int jobid; // job-id for request information, and you must fill this before request.
|
|
int work; // job's current working info. JOB_WAIT, ...
|
|
int opt; // print option
|
|
BYTE module; // module-id where the card is.
|
|
void* hsmart;
|
|
BOOL cancel; // user requests cancel.
|
|
int remain; // the number of remain jobs in job pool, EXCEPT jobid.
|
|
// when the 'jobid' value is 0 'work' and 'module' does not have any information and
|
|
// 'remain' is ENTIRE jobs count.
|
|
} JOBINFO_EX;
|
|
#pragma pack(pop)
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
int jobid;
|
|
int res;
|
|
BYTE module; // 0xFF : when success, other : res is error and module is errored module-id.
|
|
} S70CBParam;
|
|
|
|
typedef LRESULT (CALLBACK * S70CBPROC)(S70CBParam* pcbres);
|
|
|
|
|
|
|
|
typedef int (WINAPI * Smart70_RequestPreemption)(HSMART70 handle, WORD * pwPrmt);
|
|
typedef int (WINAPI * Smart70_ReleasePreemption)(HSMART70 handle, WORD wPrmt);
|
|
typedef int (WINAPI * Smart70_GetModuleState)(HSMART70 handle, BYTE mod, BYTE * pstate);
|
|
typedef int (WINAPI * Smart70_UpdateModuleState)(HSMART70 handle, BYTE mod);
|
|
typedef int (WINAPI * Smart70_GetStatus)(HSMART70 handle, BYTE mod, __int64 *pstatus);
|
|
typedef int (WINAPI * Smart70_IsModuleReady)(HSMART70 handle, BYTE mod, int *pnReady);
|
|
typedef int (WINAPI * Smart70_IsReadyInsertJob)(HSMART70 handle, int *pnReady);
|
|
typedef int (WINAPI * Smart70_ToggleManualMode)(HSMART70 handle);
|
|
typedef int (WINAPI * Smart70_UpdateCurrPrintJob)(HSMART70 handle, BYTE mod);
|
|
typedef int (WINAPI * Smart70_GetCurrPrintJob)(HSMART70 handle, BYTE mod, WORD* pjobid);
|
|
typedef int (WINAPI * Smart70_DeleteCurrPrintJob)(HSMART70 handle, BYTE mod);
|
|
typedef int (WINAPI * Smart70_CardIn)(HSMART70 handle, BYTE module, int dir, int opt);
|
|
typedef int (WINAPI * Smart70_CardOut)(HSMART70 handle, BYTE module, int dir, int opt);
|
|
typedef int (WINAPI * Smart70_CardMove)(HSMART70 handle, BYTE fromModule, BYTE toModule, int opt);
|
|
typedef int (WINAPI * Smart70_CardMove2)(HSMART70 handle, BYTE fromModule, BYTE fromOpt, BYTE toModule, BYTE toOpt, int cmdopt);
|
|
typedef int (WINAPI * Smart70_CardListMove)(HSMART70 handle, CARDMOVELIST * plist);
|
|
typedef int (WINAPI * Smart70_CardMoveQuick)(HSMART70 handle, BYTE mod, BYTE opt, int cmdopt);
|
|
typedef int (WINAPI * Smart70_CardPass)(HSMART70 handle, BYTE mod, BYTE opt, int cmdopt);
|
|
typedef int (WINAPI * Smart70_CardFlipPass)(HSMART70 handle, BYTE mod, BYTE opt, int cmdopt);
|
|
typedef int (WINAPI * Smart70_CardFlip)(HSMART70 handle, BYTE modfrom, BYTE modflip, BYTE modto);
|
|
typedef int (WINAPI * Smart70_CardFlip2)(HSMART70 handle, BYTE modfrom, BYTE modflip, BYTE modto);
|
|
typedef int (WINAPI * Smart70_CardFlipStay)(HSMART70 handle, BYTE modfrom, BYTE modflip);
|
|
typedef int (WINAPI * Smart70_Flip)(HSMART70 handle, BYTE mod, int opt, int value);
|
|
typedef int (WINAPI * Smart70_CardMoveSensor)(HSMART70 handle, BYTE module, int opt1, int valule, int opt2);
|
|
typedef int (WINAPI * Smart70_CardMovePosition)(HSMART70 handle, BYTE mod, int pos);
|
|
typedef int (WINAPI * Smart70_CardEject)(HSMART70 handle, BYTE mod);
|
|
typedef int (WINAPI * Smart70_CardEjectBin)(HSMART70 handle, BYTE mod, BYTE modbin);
|
|
typedef int (WINAPI * Smart70_CardEject2)(HSMART70 handle, BYTE mod, int opt, BYTE modout, int optout);
|
|
typedef int (WINAPI * Smart70_SetEncConfig)(HSMART70 handle, BYTE module, int config, int value);
|
|
typedef int (WINAPI * Smart70_GetEncConfig2)(HSMART70 handle, BYTE module, int config, void* pvalue, int* plen);
|
|
typedef int (WINAPI * Smart70_SetEncConfig2)(HSMART70 handle, BYTE module, int config, void* pvalue, int len);
|
|
typedef int (WINAPI * Smart70_SetEncBuffer)(HSMART70 handle, BYTE module, BYTE track, int nbuflen, WCHAR* szbuf);
|
|
typedef int (WINAPI * Smart70_WriteEncoder)(HSMART70 handle, BYTE module, BYTE track, BYTE opt);
|
|
typedef int (WINAPI * Smart70_ReadEncoder)(HSMART70 handle, BYTE module, BYTE track, BYTE opt);
|
|
typedef int (WINAPI * Smart70_FetchEncoder)(HSMART70 handle, BYTE module, BYTE track);
|
|
typedef int (WINAPI * Smart70_GetEncBuffer)(HSMART70 handle, BYTE module, BYTE track, int * pnbufsize, WCHAR* szbuf);
|
|
typedef int (WINAPI * Smart70_RunEncoder)(HSMART70 handle, BYTE module, BYTE track, int run, void* pbuf, int* pbuflen);
|
|
typedef int (WINAPI * Smart70_GetPrinterSettings)(HSMART70 handle, BYTE module, SMART70_DEVMODE* pdm);
|
|
typedef int (WINAPI * Smart70_SetPrinterSettings)(HSMART70 handle, BYTE module, SMART70_DEVMODE* pdm);
|
|
typedef int (WINAPI * Smart70_PrintDocument)(HSMART70 handle, int opt, int * pjobid);
|
|
typedef int (WINAPI * Smart70_SetJobCallback)(HSMART70 handle, S70CBPROC pfnCB);
|
|
|
|
// @Smart70_PrintStart( opt )
|
|
#define SMART70_PRINT_IMMEDIATE 0x00
|
|
#define SMART70_PRINT_WITHCARDIN 0x01
|
|
#define SMART70_LAMINATE_IMMEDIATE SMART70_PRINT_IMMEDIATE
|
|
#define SMART70_LAMINATE_WITHCARDIN SMART70_PRINT_WITHCARDIN
|
|
#define SMART70_LAMINATE_SIDETOP 0x00
|
|
#define SMART70_LAMINATE_SIDEBOTTOM 0x02
|
|
//typedef int (WINAPI * Smart70_PrintStart)(HSMART70 handle, BYTE mod, BOOL bCardIn, int cmdopt);
|
|
typedef int (WINAPI * Smart70_PrintStart)(HSMART70 handle, BYTE mod, int opt, int cmdopt);
|
|
|
|
typedef int (WINAPI * Smart70_GetJobInfo)(HSMART70 handle, JOBINFO* pjobinf);
|
|
typedef int (WINAPI * Smart70_GetJobInfoEx)(HSMART70 handle, JOBINFO_EX * pjobinf);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
* Job Descriptor Callback Functions
|
|
*/
|
|
|
|
// error callback
|
|
typedef int /*LRESULT*/ (CALLBACK * SM70CB_ERROR)(HSMART70 handle, int jobid, BYTE mid, int nres);
|
|
|
|
// magnetic encoding callback
|
|
typedef int (CALLBACK * SM70CB_MAGNETIC)(HSMART70 handle, int jobid, BYTE mid);
|
|
|
|
// contact smart card encoding callback
|
|
typedef int (CALLBACK * SM70CB_CONTACT)(HSMART70 handle, int jobid, BYTE mid, BYTE *pATR, int nATRLen);
|
|
|
|
// contactless smart card encoding callback
|
|
typedef int (CALLBACK * SM70CB_CONTACTLESS)(HSMART70 handle, int jobid, BYTE mid, BYTE *pATR, int nATRLen);
|
|
|
|
// scan image callback
|
|
typedef struct {
|
|
int bpp;
|
|
int width;
|
|
int height;
|
|
} IMAGE_INFO;
|
|
|
|
typedef struct {
|
|
BYTE * ptop;
|
|
int ntoplen;
|
|
BYTE * pbottom;
|
|
int nbottomlen;
|
|
IMAGE_INFO topinf;
|
|
IMAGE_INFO bottominf;
|
|
} SCANIMAGE_RESULT;
|
|
|
|
typedef int (CALLBACK * SM70CB_SCANIMAGE)(HSMART70 handle, int jobid, BYTE mid, SCANIMAGE_RESULT * presult);
|
|
|
|
// scan barcode callback
|
|
typedef struct {
|
|
WCHAR * msztop; // multi null-terminated string of barcode text in top side.
|
|
WCHAR * mszbottom; // multi null-terminated string of barcode text in bottom side.
|
|
} SCANBARCODE_RESULT;
|
|
|
|
typedef int (CALLBACK * SM70CB_SCANBARCODE)(HSMART70 handle, int jobid, BYTE mid, SCANBARCODE_RESULT * presult);
|
|
|
|
// print a page callback
|
|
typedef int (CALLBACK * SM70CB_PRINT)(HSMART70 handle, int jobid, BYTE mid, int page);
|
|
|
|
// laminate a page callback
|
|
typedef int (CALLBACK * SM70CB_LAMINATE)(HSMART70 handle, int jobid, BYTE mid, int page);
|
|
|
|
// user callback
|
|
typedef int (CALLBACK * SM70CB_USER)(HSMART70 handle, int jobid, BYTE mid, int opt);
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
* Job Descriptor Item
|
|
*/
|
|
|
|
// card insert, move, eject.
|
|
#define S7JD_MOVE 1
|
|
|
|
typedef struct {
|
|
BYTE from_mid; // source module-id to move
|
|
BYTE from_opt; // option for from_mid
|
|
BYTE to_mid; // target module-id to move
|
|
BYTE to_opt; // optio nfor to_mid
|
|
BYTE reserved[8];
|
|
} S7JD_PARAM_MOVE;
|
|
|
|
#define S7JD_MOVE_OPT_MIHAUTO 0x0F // Multi-Input-Hopper Auto
|
|
#define S7JD_MOVE_OPT_MOHAUTO 0x0F // Multi-Output-Hopper Auto
|
|
#define S7JD_MOVE_OPT_EJECT 0xFF
|
|
|
|
|
|
// card flip
|
|
#define S7JD_FLIP 2
|
|
|
|
typedef struct {
|
|
BYTE from_mid; // source module-id to move for flip
|
|
BYTE flip_mid; // module-id of flipper
|
|
BYTE to_mid; // target module-id to move after flip
|
|
BYTE opt; // flip option
|
|
BYTE reserved[8];
|
|
} S7JD_PARAM_FLIP;
|
|
|
|
|
|
// magnetic encoding
|
|
#define S7JD_MAGNETIC 3
|
|
|
|
typedef struct {
|
|
BYTE mid; // module-id of magnetic encoder
|
|
int coer; // coercivity value
|
|
BYTE reserved[8];
|
|
SM70CB_MAGNETIC pfncb; // callback function for magnetic encoding.
|
|
// SDK move the card to magnetic position, configure coercivity and
|
|
// calls this callback function.
|
|
} S7JD_PARAM_MAGNETIC;
|
|
|
|
|
|
// contact smart card encoding
|
|
#define S7JD_CONTACT 4
|
|
|
|
typedef struct {
|
|
BYTE mid; // module-id of contact smart card encoder
|
|
BYTE reserved[8];
|
|
SM70CB_CONTACT pfncb; // callback function for contact smart card encoding.
|
|
// SDK move the card to contact position, contact header down, power on and
|
|
// calls this callback function.
|
|
// after callback function SDK power off and detach contact header.
|
|
} S7JD_PARAM_CONTACT;
|
|
|
|
|
|
// contactless smart card encoding
|
|
#define S7JD_CONTACTLESS 5
|
|
|
|
typedef struct {
|
|
BYTE mid; // module-id of contactless smart card encoder
|
|
BYTE reserved[8];
|
|
SM70CB_CONTACTLESS pfncb; // callback function for contactless smart card encoding.
|
|
// SDK move the card to contactless position, power on and
|
|
// calls this callback function.
|
|
// after callback function SDK power off.
|
|
} S7JD_PARAM_CONTACTLESS;
|
|
|
|
|
|
// scan the image
|
|
#define S7JD_SCANIMAGE 6
|
|
|
|
typedef struct {
|
|
BYTE mid; // module-id of scanner
|
|
int dpi; // scanning dpi
|
|
int mode; // scanning color mode
|
|
int side; // scanning side
|
|
int opt; // option for scan
|
|
BYTE reserved[8];
|
|
SM70CB_SCANIMAGE pfncb; // callback function for scan the image.
|
|
// SDK configure scanner, scan image and calls this callback function.
|
|
} S7JD_PARAM_SCANIMAGE;
|
|
|
|
#define SCANIMAGE_OPT_TOP 0 // acquire top side result only
|
|
#define SCANIMAGE_OPT_BOTTOM 1 // acquire bottom side result only
|
|
#define SCANIMAGE_OPT_BOTH 2 // acquire both side results
|
|
|
|
|
|
|
|
// scan the barcode
|
|
#define S7JD_SCANBARCODE 7
|
|
|
|
typedef struct {
|
|
BYTE mid; // module-id of scanner
|
|
int dpi; // scanning dpi
|
|
int mode; // scanning color mode
|
|
int side; // scanning side
|
|
int opt; // option for scan
|
|
BYTE reserved[8];
|
|
SM70CB_SCANBARCODE pfncb; // callback function for scan the barcode.
|
|
// SDK configure scanner, scan barcodes and calls this callback function.
|
|
} S7JD_PARAM_SCANBARCODE;
|
|
|
|
#define SCANBARCODE_OPT_TOP 0 // acquire top side result only
|
|
#define SCANBARCODE_OPT_BOTTOM 1 // acquire bottom side result only
|
|
#define SCANBARCODE_OPT_BOTH 2 // acquire both side results
|
|
|
|
|
|
// print
|
|
#define S7JD_PRINT 8
|
|
|
|
typedef struct {
|
|
BYTE mid; // module-id of printer
|
|
int page; // printing page
|
|
BYTE reserved[8];
|
|
SM70CB_PRINT pfncb; // callback function for print a page.
|
|
// SDK move card to print position if necessary and calls this callback function.
|
|
// In print callback function, draw, make print data and send print data to printer.
|
|
// After callback function, SDK starts printing.
|
|
} S7JD_PARAM_PRINT;
|
|
|
|
|
|
// laminate
|
|
#define S7JD_LAMINATE 9
|
|
|
|
typedef struct {
|
|
BYTE mid; // module-id of laminator
|
|
int page; // laminating page
|
|
BYTE reserved[8];
|
|
SM70CB_LAMINATE pfncb; // callback function for laminate a page.
|
|
// SDK laminates page and calls this callback function.
|
|
} S7JD_PARAM_LAMINATE;
|
|
|
|
|
|
// laminate
|
|
#define S7JD_USER 10
|
|
|
|
typedef struct {
|
|
BYTE mid; // module-id of user-defined work
|
|
int opt; // option
|
|
BYTE reserved[8];
|
|
SM70CB_USER pfncb; // callback function for user-defined work.
|
|
} S7JD_PARAM_USER;
|
|
|
|
|
|
|
|
typedef void * HJOBD;
|
|
|
|
typedef int (WINAPI * Smart70_NewJobDescriptor)(HSMART70 handle, HJOBD * phjd, SM70CB_ERROR pfncbErr);
|
|
typedef int (WINAPI * Smart70_FreeJobDescriptor)(HSMART70 handle, HJOBD hjd);
|
|
typedef int (WINAPI * Smart70_AddJobItem)(HSMART70 handle, HJOBD hjd, int ji_type, void * ji_param);
|
|
typedef int (WINAPI * Smart70_AddJobItemMove)(HSMART70 handle, HJOBD hjd, BYTE from_mid, BYTE from_opt, BYTE to_mid, BYTE to_opt);
|
|
typedef int (WINAPI * Smart70_AddJobItemFlip)(HSMART70 handle, HJOBD hjd, BYTE from_mid, BYTE flip_mid, BYTE to_mid, BYTE opt);
|
|
typedef int (WINAPI * Smart70_AddJobItemMagnetic)(HSMART70 handle, HJOBD hjd, BYTE mid, int coer, SM70CB_MAGNETIC pfncb);
|
|
typedef int (WINAPI * Smart70_AddJobItemContact)(HSMART70 handle, HJOBD hjd, BYTE mid, SM70CB_CONTACT pfncb);
|
|
typedef int (WINAPI * Smart70_AddJobItemContactless)(HSMART70 handle, HJOBD hjd, BYTE mid, SM70CB_CONTACTLESS pfncb);
|
|
typedef int (WINAPI * Smart70_AddJobItemScanImage)(HSMART70 handle, HJOBD hjd, BYTE mid, int dpi, int mode, int side, int opt, SM70CB_SCANIMAGE pfncb);
|
|
typedef int (WINAPI * Smart70_AddJobItemScanBarcode)(HSMART70 handle, HJOBD hjd, BYTE mid, int dpi, int mode, int side, int opt, SM70CB_SCANBARCODE pfncb);
|
|
typedef int (WINAPI * Smart70_AddJobItemPrint)(HSMART70 handle, HJOBD hjd, BYTE mid, int page, SM70CB_PRINT pfncb);
|
|
typedef int (WINAPI * Smart70_AddJobItemLaminate)(HSMART70 handle, HJOBD hjd, BYTE mid, int page, SM70CB_LAMINATE pfncb);
|
|
typedef int (WINAPI * Smart70_AddJobItemUser)(HSMART70 handle, HJOBD hjd, BYTE mid, int opt, SM70CB_USER pfncb);
|
|
typedef int (WINAPI * Smart70_InsertJob)(HSMART70 handle, HJOBD hjd, int * pjobid);
|
|
typedef int (WINAPI * Smart70_ExGetDevParam2)(HSMART70 handle, BYTE mod, WCHAR* pw, int slot, int* pvalue, int nParams);
|
|
typedef int (WINAPI * Smart70_ExSetDevParam2)(HSMART70 handle, BYTE mod, WCHAR* pw, int slot, int* pvalue, int nParams);
|
|
|
|
typedef int (WINAPI * Smart70_MagWrite)(HSMART70 handle, BYTE mod, BOOL bT1, WCHAR* szT1, BOOL bT2, WCHAR* szT2, BOOL bT3, WCHAR* szT3, BOOL bJIS, WCHAR* szJIS);
|
|
typedef int (WINAPI * Smart70_MagRead)(HSMART70 handle, BYTE mod, BOOL bT1, WCHAR* szT1, int nT1, BOOL bT2, WCHAR* szT2, int nT2, BOOL bT3, WCHAR* szT3, int nT3, BOOL bJIS, WCHAR* szJIS, int nJIS);
|
|
|
|
// laser device manager
|
|
typedef int (WINAPI * Smart70_LaserConnect)();
|
|
typedef int (WINAPI * Smart70_LaserDisconnect)();
|
|
typedef int (WINAPI * Smart70_LaserCheckPort)();
|
|
|
|
|
|
// draw function for support laser
|
|
|
|
typedef struct {
|
|
BYTE page;
|
|
BYTE panel;
|
|
int x;
|
|
int y;
|
|
int cx;
|
|
int cy;
|
|
S70Border border;
|
|
S70BackGround back;
|
|
} LLINE, LRECT, LOVAL;
|
|
|
|
typedef struct {
|
|
BYTE page;
|
|
BYTE panel;
|
|
int x;
|
|
int y;
|
|
int cx;
|
|
int cy;
|
|
S70Border border;
|
|
S70BackGround back;
|
|
int round;
|
|
} LRRECT;
|
|
|
|
typedef struct {
|
|
BYTE page;
|
|
BYTE panel;
|
|
int x;
|
|
int y;
|
|
int cx;
|
|
int cy;
|
|
S70Border border;
|
|
S70BackGround back;
|
|
S70FontInfo font;
|
|
int align;
|
|
WCHAR* szText;
|
|
} LTEXT;
|
|
|
|
typedef struct {
|
|
BYTE page;
|
|
BYTE panel;
|
|
int x;
|
|
int y;
|
|
int cx;
|
|
int cy;
|
|
S70Border border;
|
|
S70BackGround back;
|
|
WCHAR* szBarName;
|
|
int nSize;
|
|
COLORREF rgbBar;
|
|
WCHAR* szData;
|
|
WCHAR* szPost;
|
|
bool showString;
|
|
int opt1;
|
|
int opt2;
|
|
} LBAR;
|
|
|
|
typedef struct {
|
|
BYTE page;
|
|
BYTE panel;
|
|
int x;
|
|
int y;
|
|
int cx;
|
|
int cy;
|
|
S70Border border;
|
|
S70BackGround back;
|
|
WCHAR* szFile;
|
|
BYTE scale;
|
|
BYTE align;
|
|
} LIMG;
|
|
|
|
typedef struct {
|
|
BYTE page;
|
|
BYTE panel;
|
|
int x;
|
|
int y;
|
|
int cx;
|
|
int cy;
|
|
S70Border border;
|
|
S70BackGround back;
|
|
HBITMAP hbmp;
|
|
BYTE scale;
|
|
BYTE align;
|
|
} LBMP;
|
|
|
|
typedef int (WINAPI * Smart70_LDrawLine )(HSMART70 handle, LLINE *pline, S70Laser *plaser, RECT* prc);
|
|
typedef int (WINAPI * Smart70_LDrawRect )(HSMART70 handle, LRECT *prect, S70Laser *plaser, RECT* prc);
|
|
typedef int (WINAPI * Smart70_LDrawOval )(HSMART70 handle, LOVAL *poval, S70Laser *plaser, RECT* prc);
|
|
typedef int (WINAPI * Smart70_LDrawRRect )(HSMART70 handle, LRRECT *prrc, S70Laser *plaser, RECT* prc);
|
|
typedef int (WINAPI * Smart70_LDrawText )(HSMART70 handle, LTEXT *ptext, S70Laser *plaser, RECT* prc);
|
|
typedef int (WINAPI * Smart70_LDrawBarcode )(HSMART70 handle, LBAR *pbar, S70Laser *plaser, RECT* prc);
|
|
typedef int (WINAPI * Smart70_LDrawImage )(HSMART70 handle, LIMG *pimg, S70Laser *plaser, RECT* prc);
|
|
typedef int (WINAPI * Smart70_LDrawBitmap )(HSMART70 handle, LBMP *pbmp, S70Laser *plaser, RECT* prc);
|
|
|