X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=lib%2Ftwain%2FTWAIN;fp=lib%2Ftwain%2FTWAIN;h=29bc4f30fb0cfaa27dabe6eb4513a96383053864;hp=0000000000000000000000000000000000000000;hb=a3df8bf1429570e0bd6c6428f6ed80073578cf4b;hpb=7c0db166f81fbe8c8b913d7f26048e337d383605 diff --git a/lib/twain/TWAIN b/lib/twain/TWAIN new file mode 100644 index 0000000..29bc4f3 --- /dev/null +++ b/lib/twain/TWAIN @@ -0,0 +1,172 @@ +Requirements to be a TWAIN-Compliant Source +Requirements +TWAIN-compliant Sources must support the following: +Operations +---------- +DG_CONTROL / DAT_CAPABILITY / MSG_GET +DG_CONTROL / DAT_CAPABILITY / MSG_GETCURRENT +DG_CONTROL / DAT_CAPABILITY / MSG_GETDEFAULT +DG_CONTROL / DAT_CAPABILITY / MSG_RESET +DG_CONTROL / DAT_CAPABILITY / MSG_SET +DG_CONTROL / DAT_EVENT / MSG_PROCESSEVENT +DG_CONTROL / DAT_IDENTITY / MSG_GET +DG_CONTROL / DAT_IDENTITY / MSG_OPENDS +DG_CONTROL / DAT_IDENTITY / MSG_CLOSEDS +DG_CONTROL / DAT_PENDINGXFERS / MSG_ENDXFER +DG_CONTROL / DAT_PENDINGXFERS / MSG_GET +DG_CONTROL / DAT_PENDINGXFERS / MSG_RESET +DG_CONTROL / DAT_SETUPMEMXFER / MSG_GET +DG_CONTROL / DAT_STATUS / MSG_GET +DG_CONTROL / DAT_USERINTERFACE / MSG_DISABLEDS +DG_CONTROL / DAT_USERINTERFACE / MSG_ENABLEDS +DG_CONTROL / DAT_XFERGROUP / MSG_GET +DG_IMAGE / DAT_IMAGEINFO / MSG_GET +DG_IMAGE / DAT_IMAGELAYOUT / MSG_GET +DG_IMAGE / DAT_IMAGELAYOUT / MSG_GETDEFAULT +DG_IMAGE / DAT_IMAGELAYOUT / MSG_RESET +DG_IMAGE / DAT_IMAGELAYOUT / MSG_SET +DG_IMAGE / DAT_IMAGEMEMXFER / MSG_GET +DG_IMAGE / DAT_IMAGENATIVEXFER / MSG_GET + +Capabilities +------------ +Every Source must support all five DG_CONTROL / DAT_CAPABILITY operations on: +CAP_XFERCOUNT +Every Source must support DG_CONTROL / DAT_CAPABILITY MSG_GET on: +CAP_SUPPORTEDCAPS +CAP_UICONTROLLABLE +Sources that supply image information must support DG_CONTROL / DAT_CAPABILITY / +MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT on: +ICAP_COMPRESSION +ICAP_PLANARCHUNKY +ICAP_PHYSICALHEIGHT +ICAP_PHYSICALWIDTH +ICAP_PIXELFLAVOR +Sources that supply image information must support DG_CONTROL / DAT_CAPABILITY / +MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT, MSG_RESET and MSG_SET on: +ICAP_BITDEPTH +ICAP_BITORDER +ICAP_PIXELTYPE +ICAP_UNITS +ICAP_XFERMECH +ICAP_XRESOLUTION +ICAP_YRESOLUTION +All Sources must implement the advertised features supported by their devices. They must +make these features available to applications via the TWAIN protocol. For example, a Source +thats connected to a device that has an ADF must support DG_CONTROL / +DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT on: +CAP_FEEDERENABLED +CAP_FEEDERLOADED +and DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, +MSG_GETDEFAULT, MSG_RESET and MSG_SET on: +CAP_AUTOFEED +If the ADF also supports ejecting and rewinding of pages then the Source should also support +DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, +MSG_GETDEFAULT, MSG_RESET and MSG_SET on: +CAP_CLEARPAGE +CAP_REWINDPAGE + + +******************************************************************************* + +From Application to Source Manager (Control Information) + +Data Group Data Argument Type Message +DG_CONTROL DAT_IDENTITY MSG_CLOSEDS + MSG_GETDEFAULT + MSG_GETFIRST + MSG_GETNEXT + MSG_OPENDS + MSG_USERSELECT +DG_CONTROL DAT_PARENT MSG_CLOSEDSM + MSG_OPENDSM +DG_CONTROL DAT_STATUS MSG_GET + +From Application to Source (Control Information) +Data Group Data Argument Type Message +DG_CONTROL DAT_CAPABILITY MSG_GET + MSG_GETCURRENT + MSG_GETDEFAULT + MSG_QUERYSUPPORT + MSG_RESET + MSG_SET +DG_CONTROL DAT_CUSTOMDSDATA MSG_GET + MSG_SET +DG_CONTROL DAT_FILESYSTEM MSG_AUTOMATICCAPTURE + DIRECTORY + MSG_CHANGEDIRECTORY + MSG_COPY + MSG_CREATEDIRECTORY + MSG_DELETE + MSG_FORMATMEDIA + MSG_GETCLOSE + MSG_GETFIRSTFILE + MSG_GETINFO + MSG_GETNEXTFILE + MSG_RENAME +DG_CONTROL DAT_EVENT MSG_PROCESSEVENT +DG_CONTROL DAT_PASSTHRU MSG_PASSTHRU +DG_CONTROL DAT_PENDINGXFERS MSG_ENDXFER + MSG_GET + MSG_RESET + MSG_STOPFEEDER +DG_CONTROL DAT_SETUPFILEXFER MSG_GET + MSG_GETDEFAULT + MSG_RESET + MSG_SET +DG_CONTROL DAT_SETUPFILEXFER2 MSG_GET + MSG_GETDEFAULT + MSG_RESET + MSG_SET +DG_CONTROL DAT_SETUPMEMXFER MSG_GET +DG_CONTROL DAT_STATUS MSG_GET +DG_CONTROL DAT_USERINTERFACE MSG_DISABLEDS + MSG_ENABLEDS + MSG_ENABLEDSUIONLY +DG_CONTROL DAT_XFERGROUP MSG_GET + MSG_SET + +From Application to Source (Image Information) +Data Group Data Argument Type Message +DG_IMAGE DAT_CIECOLOR MSG_GET +DG_IMAGE DAT_EXTIMAGEINFO MSG_GET +DG_IMAGE DAT_GRAYRESPONSE MSG_RESET + MSG_SET +DG_IMAGE DAT_IMAGEFILEXFER MSG_GET +DG_IMAGE DAT_IMAGEINFO MSG_GET +DG_IMAGE DAT_IMAGELAYOUT MSG_GET + MSG_GETDEFAULT + MSG_RESET + MSG_SET +DG_IMAGE DAT_IMAGEMEMXFER MSG_GET +DG_IMAGE DAT_IMAGENATIVEXFER MSG_GET +DG_IMAGE DAT_JPEGCOMPRESSION MSG_GET + MSG_GETDEFAULT + MSG_RESET + MSG_SET +DG_IMAGE DAT_PALETTE8 MSG_GET + MSG_GETDEFAULT + MSG_RESET + MSG_SET +DG_IMAGE DAT_RGBRESPONSE MSG_RESET + MSG_SET + +From Application to Source (Audio Information) +Data Group Data Argument Type Message +DG_AUDIO DAT_AUDIOFILEXFER MSG_GET +DG_AUDIO DAT_AUDIOINFO MSG_GET +DG_AUDIO DAT_AUDIONATIVEXFER MSG_GET + +From Source Manager to Source (Control Information) +Data Group Data Argument Type Message +DG_CONTROL DAT_IDENTITY MSG_CLOSEDS + MSG_GET + MSG_OPENDS + +From Source to Application (Control Information via the Source Manager) +(Used by Windows Sources only) +Data Group Data Argument Type Message +DG_CONTROL DAT_NULL MSG_CLOSEDSOK + MSG_CLOSEDSREQ + MSG_DEVICEEVENT + MSG_XFERREADY