comctl32: listview: When shrinking the last column clear the now unused field.
[wine] / dlls / sane.ds / sane_i.h
1 /*
2  * Copyright 2000 Corel Corporation
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #ifndef _TWAIN32_H
20 #define _TWAIN32_H
21
22 #ifndef __WINE_CONFIG_H
23 # error You must include config.h first
24 #endif
25
26 #ifdef HAVE_SANE
27 # include <sane/sane.h>
28 #endif
29 #include <stdarg.h>
30
31 #include "windef.h"
32 #include "winbase.h"
33 #include "twain.h"
34
35 extern HINSTANCE SANE_instance;
36
37 /* internal information about an active data source */
38 struct tagActiveDS
39 {
40     struct tagActiveDS  *next;                  /* next active DS */
41     TW_IDENTITY         identity;               /* identity */
42     TW_UINT16           currentState;           /* current state */
43     TW_EVENT            pendingEvent;           /* pending event to be sent to
44                                                    application */
45     TW_UINT16           twCC;                   /* condition code */
46     HWND                hwndOwner;              /* window handle of the app */
47     HWND                progressWnd;            /* window handle of the scanning window */
48 #ifdef HAVE_SANE
49     SANE_Handle         deviceHandle;           /* device handle */
50     SANE_Parameters     sane_param;             /* parameters about the image
51                                                    transferred */
52     BOOL                sane_param_valid;  /* true if valid sane_param*/
53     INT                 deviceIndex;    /* index of the current device */
54 #endif
55     /* Capabiblities */
56     TW_UINT16           capXferMech;            /* ICAP_XFERMECH */
57 } activeDS;
58
59 /* Helper functions */
60 extern TW_UINT16 SANE_SaneCapability (pTW_CAPABILITY pCapability, TW_UINT16 action);
61
62 /*  */
63 extern TW_UINT16 SANE_ControlGroupHandler (
64         pTW_IDENTITY pOrigin, TW_UINT16 DAT, TW_UINT16 MSG, TW_MEMREF pData);
65 extern TW_UINT16 SANE_ImageGroupHandler (
66         pTW_IDENTITY pOrigin, TW_UINT16 DAT, TW_UINT16 MSG, TW_MEMREF pData);
67 extern TW_UINT16 SANE_SourceManagerHandler (
68         pTW_IDENTITY pOrigin, TW_UINT16 DAT, TW_UINT16 MSG, TW_MEMREF pData);
69
70 /* Implementation of operation triplets
71  * From Application to Source (Control Information) */
72 TW_UINT16 SANE_CapabilityGet (pTW_IDENTITY pOrigin, TW_MEMREF pData);
73 TW_UINT16 SANE_CapabilityGetCurrent
74     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
75 TW_UINT16 SANE_CapabilityGetDefault
76     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
77 TW_UINT16 SANE_CapabilityQuerySupport
78     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
79 TW_UINT16 SANE_CapabilityReset
80     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
81 TW_UINT16 SANE_CapabilitySet
82     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
83 TW_UINT16 SANE_CustomDSDataGet
84     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
85 TW_UINT16 SANE_CustomDSDataSet
86     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
87 TW_UINT16 SANE_AutomaticCaptureDirectory
88     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
89 TW_UINT16 SANE_ChangeDirectory
90     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
91 TW_UINT16 SANE_FileSystemCopy
92     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
93 TW_UINT16 SANE_CreateDirectory
94     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
95 TW_UINT16 SANE_FileSystemDelete
96     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
97 TW_UINT16 SANE_FormatMedia
98     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
99 TW_UINT16 SANE_FileSystemGetClose
100     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
101 TW_UINT16 SANE_FileSystemGetFirstFile
102     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
103 TW_UINT16 SANE_FileSystemGetInfo
104     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
105 TW_UINT16 SANE_FileSystemGetNextFile
106     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
107 TW_UINT16 SANE_FileSystemRename
108     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
109 TW_UINT16 SANE_ProcessEvent
110     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
111 TW_UINT16 SANE_PassThrough
112     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
113 TW_UINT16 SANE_PendingXfersEndXfer
114     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
115 TW_UINT16 SANE_PendingXfersGet
116     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
117 TW_UINT16 SANE_PendingXfersReset
118     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
119 TW_UINT16 SANE_PendingXfersStopFeeder
120     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
121 TW_UINT16 SANE_SetupFileXferGet
122     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
123 TW_UINT16 SANE_SetupFileXferGetDefault
124     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
125 TW_UINT16 SANE_SetupFileXferReset
126     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
127 TW_UINT16 SANE_SetupFileXferSet
128     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
129 TW_UINT16 SANE_SetupFileXfer2Get
130     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
131 TW_UINT16 SANE_SetupFileXfer2GetDefault
132     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
133 TW_UINT16 SANE_SetupFileXfer2Reset
134     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
135 TW_UINT16 SANE_SetupFileXfer2Set
136     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
137 TW_UINT16 SANE_SetupMemXferGet
138     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
139 TW_UINT16 SANE_GetDSStatus
140     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
141 TW_UINT16 SANE_DisableDSUserInterface
142     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
143 TW_UINT16 SANE_EnableDSUserInterface
144     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
145 TW_UINT16 SANE_EnableDSUIOnly
146     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
147 TW_UINT16 SANE_XferGroupGet
148     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
149 TW_UINT16 SANE_XferGroupSet
150     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
151
152 /* Implementation of operation triplets
153  * From Application to Source (Image Information) */
154 TW_UINT16 SANE_CIEColorGet
155     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
156 TW_UINT16 SANE_ExtImageInfoGet
157     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
158 TW_UINT16 SANE_GrayResponseReset
159     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
160 TW_UINT16 SANE_GrayResponseSet
161     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
162 TW_UINT16 SANE_ImageFileXferGet
163     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
164 TW_UINT16 SANE_ImageInfoGet
165     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
166 TW_UINT16 SANE_ImageLayoutGet
167     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
168 TW_UINT16 SANE_ImageLayoutGetDefault
169     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
170 TW_UINT16 SANE_ImageLayoutReset
171     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
172 TW_UINT16 SANE_ImageLayoutSet
173     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
174 TW_UINT16 SANE_ImageMemXferGet
175     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
176 TW_UINT16 SANE_ImageNativeXferGet
177     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
178 TW_UINT16 SANE_JPEGCompressionGet
179     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
180 TW_UINT16 SANE_JPEGCompressionGetDefault
181     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
182 TW_UINT16 SANE_JPEGCompressionReset
183     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
184 TW_UINT16 SANE_JPEGCompressionSet
185     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
186 TW_UINT16 SANE_Palette8Get
187     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
188 TW_UINT16 SANE_Palette8GetDefault
189     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
190 TW_UINT16 SANE_Palette8Reset
191     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
192 TW_UINT16 SANE_Palette8Set
193     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
194 TW_UINT16 SANE_RGBResponseReset
195     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
196 TW_UINT16 SANE_RGBResponseSet
197     (pTW_IDENTITY pOrigin, TW_MEMREF pData);
198
199 /* Implementation of TWAIN capabilities */
200 TW_UINT16 SANE_ICAPXferMech (pTW_CAPABILITY pCapability, TW_UINT16 action);
201
202 /* UI function */
203 BOOL DoScannerUI(void);
204 HWND ScanningDialogBox(HWND dialog, LONG progress);
205
206 #endif