FEDRA emulsion software from the OPERA Collaboration
Milsetup.h
Go to the documentation of this file.
1
/***************************************************************************/
2
/* */
3
/* */
4
/* Filename: MILSETUP.H */
5
/* Owner : Matrox Imaging dept. */
6
/* Rev : $Revision: 1.1 $ */
7
/* Content : This file contains definitions for specifying the target */
8
/* compile environment and the default state to set for */
9
/* MIL (Matrox Imaging Library). It also defines the */
10
/* MappAllocDefault() and MappFreeDefault() macros. */
11
/* */
12
/* COPYRIGHT (c) 1993-1995 Matrox Electronic Systems Ltd. */
13
/* All Rights Reserved. */
14
/* */
15
/* */
16
/***************************************************************************/
17
18
#ifndef __MILSETUP_H__
19
#define __MILSETUP_H__
20
21
22
/************************************************************************/
23
/* COMPILATION FLAG */
24
/* One and only one flag must be active */
25
/************************************************************************/
26
27
#ifndef M_MIL_USE_OS
28
#define M_MIL_USE_OS 1
29
#define M_MIL_USE_WINDOWS 1
30
#define M_MIL_USE_CE 0
31
#define M_MIL_USE_PPC 0
32
#endif
33
34
#if !(M_MIL_USE_WINDOWS || M_MIL_USE_PPC || M_MIL_USE_LINUX)
35
#error You must set at least one compilation flag.
36
#endif
37
38
#if (M_MIL_USE_WINDOWS && M_MIL_USE_PPC && M_MIL_USE_LINUX)
39
#error You must select one and only one compilation flag.
40
#endif
41
42
/************************************************************************/
43
/* DEFAULT STATE INITIALIZATION FLAG */
44
/************************************************************************/
45
46
#define M_SETUP M_DEFAULT
47
48
#if !M_MIL_USE_CE
49
#define M_IMAGE_PATH MIL_TEXT("INSTALLDIR\\images\\"
)
50
#else
51
#define M_IMAGE_PATH MIL_TEXT("\\cedisk\\mil\\images\\"
)
52
#endif
53
54
/************************************************************************/
55
/* DEFAULT SYSTEM SPECIFICATIONS */
56
/************************************************************************/
57
58
/*DO NOT EDIT: you should change the default values with the Mil Configuration utility*/
59
#define M_DEF_SYSTEM_TYPE M_SYSTEM_DEFAULT
60
#define M_DEF_SYSTEM_NUM M_DEFAULT
61
#define M_SYSTEM_SETUP M_DEF_SYSTEM_TYPE
62
63
/************************************************************************/
64
/* DEFAULT DIGITIZER SPECIFICATIONS */
65
/************************************************************************/
66
67
/*DO NOT EDIT: you should change the default values with the Mil Configuration utility*/
68
#define M_DEF_DIGITIZER_NUM M_DEFAULT
69
#define M_DEF_DIGITIZER_FORMAT MIL_TEXT("M_DEFAULT"
)
70
#define M_DEF_DIGITIZER_INIT M_DEFAULT
71
#define M_CAMERA_SETUP M_DEF_DIGITIZER_FORMAT
72
73
/************************************************************************/
74
/* DEFAULT DISPLAY SPECIFICATIONS */
75
/************************************************************************/
76
77
/*DO NOT EDIT: you should change the default values with the Mil Configuration utility*/
78
#define M_DEF_DISPLAY_NUM M_DEFAULT
79
#define M_DEF_DISPLAY_FORMAT MIL_TEXT("M_DEFAULT"
)
80
#define M_DEF_DISPLAY_INIT M_DEFAULT
81
#define M_DISPLAY_SETUP M_DEF_DISPLAY_FORMAT
82
#define M_DEF_DISPLAY_KEY_COLOR 0
83
#define M_DEF_DISPLAY_KEY_ENABLE_ON_ALLOC 0
84
#define M_DEF_DISPLAY_KEY_DISABLE_ON_FREE 0
85
86
/************************************************************************/
87
/* DEFAULT IMAGE BUFFER SPECIFICATIONS */
88
/************************************************************************/
89
90
#define M_DEF_IMAGE_NUMBANDS_MIN 1
91
#define M_DEF_IMAGE_SIZE_X_MIN 512
92
#define M_DEF_IMAGE_SIZE_Y_MIN 480
93
#define M_DEF_IMAGE_SIZE_X_MAX 4000000
94
#define M_DEF_IMAGE_SIZE_Y_MAX 4000000
95
#define M_DEF_IMAGE_TYPE 8+M_UNSIGNED
96
#define M_DEF_IMAGE_ATTRIBUTE_MIN M_IMAGE+M_PROC
97
98
/***************************************************************************/
99
/* LocalBufferAllocDefault - Local macro to allocate a default MIL buffer: */
100
/* */
101
/* MIL_ID *SystemIdVarPtr; */
102
/* MIL_ID *DisplayIdVarPtr; */
103
/* MIL_ID *ImageIdVarPtr; */
104
/* */
105
/***************************************************************************/
106
#define LocalBufferAllocDefault(SystemIdVarPtr,DisplayIdVarPtr,DigitizerIdVarPtr,ImageIdVarPtr) \
107
{ \
108
/* local variables */
\
109
long m_def_image_numbands = M_DEF_IMAGE_NUMBANDS_MIN; \
110
long m_def_image_size_x = M_DEF_IMAGE_SIZE_X_MIN; \
111
long m_def_image_size_y = M_DEF_IMAGE_SIZE_Y_MIN; \
112
long m_def_image_type = M_DEF_IMAGE_TYPE; \
113
long m_def_image_attribute= M_DEF_IMAGE_ATTRIBUTE_MIN; \
114
MIL_ID *LNullPtr = M_NULL; \
115
MIL_ID LNull = M_NULL; \
116
\
117
/* determines the needed size band, x, y, type and attribute */
\
118
if ((((MIL_ID *)(DisplayIdVarPtr)) != LNullPtr) && \
119
((*((MIL_ID *)(DisplayIdVarPtr)))!= LNull)) \
120
{ \
121
if ((((MIL_ID *)(DigitizerIdVarPtr)) != LNullPtr) && \
122
((*((MIL_ID *)(DigitizerIdVarPtr)))!= LNull)) \
123
{ \
124
m_def_image_size_x = \
125
MdigInquire(*((MIL_ID *)(DigitizerIdVarPtr)),M_SIZE_X,M_NULL); \
126
m_def_image_size_y = \
127
MdigInquire(*((MIL_ID *)(DigitizerIdVarPtr)),M_SIZE_Y,M_NULL); \
128
m_def_image_type = \
129
MdigInquire(*((MIL_ID *)(DigitizerIdVarPtr)),M_TYPE,M_NULL); \
130
} \
131
else \
132
{ \
133
m_def_image_size_x = M_DEF_IMAGE_SIZE_X_MIN; \
134
m_def_image_size_y = M_DEF_IMAGE_SIZE_Y_MIN; \
135
m_def_image_type = M_DEF_IMAGE_TYPE; \
136
} \
137
} \
138
if (m_def_image_size_x < M_DEF_IMAGE_SIZE_X_MIN) \
139
m_def_image_size_x = M_DEF_IMAGE_SIZE_X_MIN; \
140
if (m_def_image_size_y < M_DEF_IMAGE_SIZE_Y_MIN) \
141
m_def_image_size_y = M_DEF_IMAGE_SIZE_Y_MIN; \
142
if (m_def_image_size_x > M_DEF_IMAGE_SIZE_X_MAX) \
143
m_def_image_size_x = M_DEF_IMAGE_SIZE_X_MAX; \
144
if (m_def_image_size_y > M_DEF_IMAGE_SIZE_Y_MAX) \
145
m_def_image_size_y = M_DEF_IMAGE_SIZE_Y_MAX; \
146
if (((m_def_image_type & 0xFF) < (M_DEF_IMAGE_TYPE & 0xFF)) || \
147
((m_def_image_type & 0xFF) > (M_DEF_IMAGE_TYPE & 0xFF))) \
148
m_def_image_type = M_DEF_IMAGE_TYPE; \
149
\
150
/* determines the needed attribute and number of band */
\
151
m_def_image_attribute = M_DEF_IMAGE_ATTRIBUTE_MIN; \
152
m_def_image_numbands = M_DEF_IMAGE_NUMBANDS_MIN; \
153
if ((((MIL_ID *)(DisplayIdVarPtr)) != LNullPtr) && \
154
((*((MIL_ID *)(DisplayIdVarPtr)))!= LNull)) \
155
m_def_image_attribute |= M_DISP; \
156
if (((((MIL_ID *)DigitizerIdVarPtr)) != LNullPtr) && \
157
((*((MIL_ID *)(DigitizerIdVarPtr)))!= LNull)) \
158
{ \
159
m_def_image_attribute |= M_GRAB; \
160
m_def_image_numbands = \
161
MdigInquire(*(MIL_ID *)DigitizerIdVarPtr,M_SIZE_BAND,M_NULL); \
162
if (m_def_image_numbands<M_DEF_IMAGE_NUMBANDS_MIN) \
163
m_def_image_numbands=M_DEF_IMAGE_NUMBANDS_MIN; \
164
} \
165
\
166
/* allocates a monochromatic or color image buffer */
\
167
MbufAllocColor(*((MIL_ID *)(SystemIdVarPtr)), \
168
m_def_image_numbands, \
169
m_def_image_size_x, \
170
m_def_image_size_y, \
171
m_def_image_type, \
172
m_def_image_attribute, \
173
((MIL_ID *)(ImageIdVarPtr))); \
174
\
175
/* clear and display the image buffer */
\
176
if (((DisplayIdVarPtr) !=LNullPtr) && \
177
((*((MIL_ID *)(DisplayIdVarPtr)))!=LNull) && \
178
((*((MIL_ID *)(ImageIdVarPtr))) !=LNull)) \
179
{ \
180
MbufClear(*((MIL_ID *)(ImageIdVarPtr)), 0); \
181
MdispSelect(*((MIL_ID *)(DisplayIdVarPtr)), \
182
*((MIL_ID *)(ImageIdVarPtr))); \
183
} \
184
}
185
186
/**************************************************************************/
187
/* MappAllocDefault - macro to allocate default MIL objects: */
188
/* */
189
/* long InitFlag; */
190
/* MIL_ID *ApplicationIdVarPtr; */
191
/* MIL_ID *SystemIdVarPtr; */
192
/* MIL_ID *DisplayIdVarPtr; */
193
/* MIL_ID *DigitizerIdVarPtr; */
194
/* MIL_ID *ImageIdVarPtr; */
195
/* */
196
/* Note: */
197
/* An application must be allocated before a system. */
198
/* An system must be allocated before a display,digitzer or image. */
199
/* */
200
/**************************************************************************/
201
202
#define MappAllocDefault(InitFlag,ApplicationIdVarPtr,SystemIdVarPtr,DisplayIdVarPtr,DigitizerIdVarPtr,ImageIdVarPtr) \
203
{ \
204
/* local variables */
\
205
MIL_ID *LNullPtr = M_NULL; \
206
MIL_ID LNull = M_NULL; \
207
\
208
/* allocate a MIL application. */
\
209
if (((MIL_ID *)(ApplicationIdVarPtr)) != LNullPtr) \
210
MappAlloc(InitFlag,((MIL_ID *)(ApplicationIdVarPtr))); \
211
\
212
/* allocate a system */
\
213
if ((((MIL_ID *)(SystemIdVarPtr)) != LNullPtr) && \
214
(((MIL_ID *)(ApplicationIdVarPtr)) != LNullPtr) && \
215
((*((MIL_ID *)(ApplicationIdVarPtr)))!= LNull)) \
216
MsysAlloc(M_DEF_SYSTEM_TYPE, \
217
M_DEF_SYSTEM_NUM, \
218
(InitFlag), \
219
((MIL_ID *)(SystemIdVarPtr))); \
220
\
221
/* allocate a display */
\
222
if ((((MIL_ID *)(DisplayIdVarPtr)) != LNullPtr) && \
223
(((MIL_ID *)(SystemIdVarPtr)) != LNullPtr) && \
224
((*((MIL_ID *)(SystemIdVarPtr))) != LNull)) \
225
MdispAlloc(*((MIL_ID *)(SystemIdVarPtr)), \
226
M_DEF_DISPLAY_NUM, \
227
M_DEF_DISPLAY_FORMAT, \
228
M_DEF_DISPLAY_INIT, \
229
((MIL_ID *)(DisplayIdVarPtr))); \
230
\
231
/* allocate a digitizer */
\
232
if ((((MIL_ID *)(DigitizerIdVarPtr)) != LNullPtr) && \
233
(((MIL_ID *)(SystemIdVarPtr)) != LNullPtr) && \
234
((*((MIL_ID *)(SystemIdVarPtr))) != LNull)) \
235
MdigAlloc(*((MIL_ID *)(SystemIdVarPtr)), \
236
M_DEF_DIGITIZER_NUM, \
237
M_DEF_DIGITIZER_FORMAT, \
238
M_DEF_DIGITIZER_INIT, \
239
((MIL_ID *)(DigitizerIdVarPtr))); \
240
\
241
/* enable keying if keying is supported */
\
242
if (((DisplayIdVarPtr) !=LNullPtr) && \
243
((*((MIL_ID *)(DisplayIdVarPtr)))!=LNull) && \
244
(M_DEF_DISPLAY_KEY_ENABLE_ON_ALLOC!=LNull) && \
245
(MdispInquire(*((MIL_ID *)(DisplayIdVarPtr)),M_KEY_SUPPORTED,0)))\
246
MdispOverlayKey(*((MIL_ID *)(DisplayIdVarPtr)),M_KEY_ON_COLOR, \
247
M_EQUAL,0xFFL,M_DEF_DISPLAY_KEY_COLOR); \
248
\
249
/* allocate an image buffer */
\
250
if ((((MIL_ID *)(ImageIdVarPtr)) != LNullPtr) && \
251
(((MIL_ID *)(SystemIdVarPtr)) != LNullPtr) && \
252
((*((MIL_ID *)(SystemIdVarPtr)))!= LNull)) \
253
LocalBufferAllocDefault(((MIL_ID *)(SystemIdVarPtr)), \
254
((MIL_ID *)(DisplayIdVarPtr)), \
255
((MIL_ID *)(DigitizerIdVarPtr)), \
256
((MIL_ID *)(ImageIdVarPtr))); \
257
\
258
/* enable keying if keying is supported */
\
259
if (((DisplayIdVarPtr) !=LNullPtr) && \
260
((*((MIL_ID *)(DisplayIdVarPtr)))!=LNull) && \
261
(M_DEF_DISPLAY_KEY_ENABLE_ON_ALLOC!=LNull) && \
262
(MdispInquire(*((MIL_ID *)(DisplayIdVarPtr)),M_KEY_SUPPORTED,0)))\
263
MdispOverlayKey(*((MIL_ID *)(DisplayIdVarPtr)),M_KEY_ON_COLOR, \
264
M_EQUAL,0xFFL,M_DEF_DISPLAY_KEY_COLOR); \
265
}
266
267
/************************************************************************/
268
/* MappFreeDefault - macro to free default MIL objects: */
269
/* */
270
/* MIL_ID ApplicationId; */
271
/* MIL_ID SystemId; */
272
/* MIL_ID DisplayId; */
273
/* MIL_ID DigitizerId; */
274
/* MIL_ID ImageId; */
275
/* */
276
/************************************************************************/
277
278
#define MappFreeDefault(ApplicationId,SystemId,DisplayId,DigitizerId,BufferId) \
279
{ \
280
MIL_ID NullId = M_NULL; \
281
\
282
/* free the image buffer */
\
283
if ((BufferId) != NullId) \
284
{ \
285
MbufFree((BufferId)); \
286
} \
287
\
288
/* free digitizer */
\
289
if ((DigitizerId) != NullId) \
290
{ \
291
MdigFree((DigitizerId)); \
292
} \
293
\
294
/* free the display */
\
295
if ((DisplayId) != NullId) \
296
{ \
297
if ((M_DEF_DISPLAY_KEY_DISABLE_ON_FREE != NullId)&& \
298
MdispInquire((DisplayId),M_KEY_SUPPORTED,0)) \
299
MdispOverlayKey((DisplayId),M_KEY_OFF,M_NULL,M_NULL,M_NULL); \
300
MdispFree((DisplayId)); \
301
} \
302
\
303
/* free the system */
\
304
if ((SystemId) != NullId) \
305
{ \
306
MsysFree((SystemId)); \
307
} \
308
\
309
/* free the system */
\
310
if ((ApplicationId) != NullId) \
311
{ \
312
MappFree((ApplicationId)); \
313
} \
314
}
315
316
#endif
/*__MILSETUP_H__*/
fedra_doxygen
src
libACQ
Mil
Include
Milsetup.h
Generated by
1.9.3