| #pragma once |
| |
| #ifndef __TTWAINP_H__ |
| #define __TTWAINP_H__ |
| |
| #include "ttwain.h" |
| |
| #ifdef TTWAINLIB_MAIN |
| #define EXTERN |
| #else |
| #define EXTERN extern |
| #endif |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef enum TWAINSTATE { |
| TWAIN_PRESESSION = 1, |
| TWAIN_SM_LOADED, |
| TWAIN_SM_OPEN, |
| TWAIN_SOURCE_OPEN, |
| TWAIN_SOURCE_ENABLED, |
| TWAIN_TRANSFER_READY, |
| TWAIN_TRANSFERRING |
| } TWAINSTATE; |
| |
| #ifdef _WIN32 |
| #ifdef x64 |
| #define DSM_FILENAME "TWAINDSM.DLL" |
| #else |
| #define DSM_FILENAME "TWAIN_32.DLL" |
| #endif |
| #define DSM_ENTRYPOINT "DSM_Entry" |
| #else |
| #define DSM_FILENAME "" |
| #define DSM_ENTRYPOINT "" |
| #endif |
| |
| struct TRANSFER_INFO { |
| TTWAIN_TRANSFER_MECH transferMech; |
| TTWAIN_USAGE_MODE usageMode; |
| |
| unsigned char *memoryBuffer; |
| unsigned long memorySize; |
| |
| void *hDib; |
| |
| int preferredLx; |
| int preferredLy; |
| int multiTransfer; |
| int nextImageNeedsToBeInverted; |
| int lastTransferWasOk; |
| TW_PENDINGXFERS pendingXfers; |
| int oneAtLeast; |
| }; |
| |
| struct CALLBACKS { |
| TTWAIN_ONDONE_CB *onDoneCb; |
| void *onDoneArg; |
| TTWAIN_ONERROR_CB *onErrorCb; |
| void *onErrorArg; |
| }; |
| |
| struct _TTWAIN_DATA__ { |
| |
| DSMENTRYPROC DSM_Entry; |
| TW_INT32 hwnd32SM; |
| |
| TW_IDENTITY sourceId; |
| TW_IDENTITY appId; |
| TW_USERINTERFACE twainUI; |
| |
| int initDone; |
| TWAINAVAILABLE twainAvailable; |
| TWAINSTATE twainState; |
| |
| struct TRANSFER_INFO transferInfo; |
| struct CALLBACKS callback; |
| TW_ARRAY *supportedCaps; |
| int isSupportedCapsSupported; |
| |
| int breakModalLoop; |
| |
| int UIStatus; |
| int modalStatus; |
| |
| TW_INT16 resultCode; |
| |
| TUINT32 ErrRC; |
| TUINT32 ErrCC; |
| }; |
| |
| EXTERN struct _TTWAIN_DATA__ TTwainData; |
| |
| EXTERN int TTWAIN_InitVar(void); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |