2
2
Copyright (c) 1993-2008, Cognitive Technologies
5
����������� ��������� ��������������� � ������������� ��� � ���� ��������� ����,
6
��� � � �������� �����, � ����������� ��� ���, ��� ���������� ��������� �������:
8
* ��� ��������� ��������������� ��������� ���� ������ ���������� ���������
9
���� ����������� �� ��������� �����, ���� ������ ������� � �����������
11
* ��� ��������� ��������������� ��������� ���� � ������������ �/��� �
12
������ ����������, ������������ ��� ���������������, ������ �����������
13
��������� ���� ���������� �� ��������� �����, ���� ������ ������� �
14
����������� ����� �� ��������.
15
* �� �������� Cognitive Technologies, �� ����� �� ����������� �� �����
16
���� ������������ � �������� �������� ��������� �/��� �����������
17
���������, ���������� �� ���� ��, ��� ���������������� �����������
20
��� ��������� ������������� ����������� ��������� ���� �/��� ������� ������ "���
21
��� ����" ��� ������-���� ���� ��������, ���������� ���� ��� ���������������,
22
������� �������� ������������ �������� � ����������� ��� ���������� ����, �� ��
23
������������� ���. �� �������� ��������� ���� � �� ���� ������ ����, �������
24
����� �������� �/��� �������� �������������� ���������, �� � ���� ������ ��
25
��Ѩ� ���������������, ������� ����� �����, ���������, ����������� ���
26
������������� ������, ��������� � �������������� ��� ���������� ����������
27
������������� ������������� ��������� (������� ������ ������, ��� ������,
28
������� ���������, ��� ������ �/��� ������ �������, ���������� ��-�� ��������
29
������� ��� �/��� ������ ��������� �������� ��������� � ������� �����������,
30
�� �� ������������� ����� ��������), �� �� ������������� ���, ���� ���� �����
31
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
5
Разрешается повторное распространение и использование как в виде исходного кода,
6
так и в двоичной форме, с изменениями или без, при соблюдении следующих условий:
8
* При повторном распространении исходного кода должны оставаться указанное
9
выше уведомление об авторском праве, этот список условий и последующий
11
* При повторном распространении двоичного кода в документации и/или в
12
других материалах, поставляемых при распространении, должны сохраняться
13
указанная выше информация об авторском праве, этот список условий и
14
последующий отказ от гарантий.
15
* Ни название Cognitive Technologies, ни имена ее сотрудников не могут
16
быть использованы в качестве средства поддержки и/или продвижения
17
продуктов, основанных на этом ПО, без предварительного письменного
20
ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ ЛИЦАМИ "КАК
21
ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ,
22
ВКЛЮЧАЯ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, НО НЕ
23
ОГРАНИЧИВАЯСЬ ИМИ. НИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ
24
МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, НИ В КОЕМ СЛУЧАЕ НЕ
25
НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ
26
ПОСЛЕДОВАВШИЕ УБЫТКИ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ИЛИ ПОНЕСЕННЫЕ ВСЛЕДСТВИЕ
27
НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ ПОТЕРИ ДАННЫХ, ИЛИ ДАННЫЕ,
28
СТАВШИЕ НЕГОДНЫМИ, ИЛИ УБЫТКИ И/ИЛИ ПОТЕРИ ДОХОДОВ, ПОНЕСЕННЫЕ ИЗ-ЗА ДЕЙСТВИЙ
29
ТРЕТЬИХ ЛИЦ И/ИЛИ ОТКАЗА ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ,
30
НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМИ СЛУЧАЯМИ), НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ДАЖЕ ЕСЛИ ТАКОЙ
31
ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ И ПОТЕРЬ.
33
33
Redistribution and use in source and binary forms, with or without modification,
34
34
are permitted provided that the following conditions are met:
91
80
///////////////////////////////////////////////////////////////////////////////////////////////
92
81
#define CIMAGE_MAXNAME 260
93
82
///////////////////////////////////////////////////////////////////////////////////////////////
94
#if !defined(Handle) & ! defined(PHandle)
95
typedef void *Handle, **PHandle;
97
#if defined(Handle) & !defined(PHandle)
98
typedef void **PHandle;
100
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
102
84
# define CIMAGEBOOL16 Bool16
103
# define CIMAGEWORD Word16
104
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
85
# define CIMAGEWORD uint16_t
86
///////////////////////////////////////////////////////////////////////////////////////////////
106
88
#ifndef __CIMAGE_STRUCT_H_
107
89
#define __CIMAGE_STRUCT_H_
228
210
#endif //__CIMAGE_STRUCT_H_
229
211
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
231
CIMAGE_FUNC(Bool32) CIMAGE_Init(Word16 wHeightCode,Handle hStorage);
213
CIMAGE_FUNC(Bool32) CIMAGE_Init(uint16_t wHeightCode,Handle hStorage);
232
214
CIMAGE_FUNC(Bool32) CIMAGE_Done();
233
CIMAGE_FUNC(Word32) CIMAGE_GetReturnCode();
234
CIMAGE_FUNC(Int8 *) CIMAGE_GetReturnString(Word32 dwError);
235
CIMAGE_FUNC(Bool32) CIMAGE_GetExportData(Word32 dwType, void * pData);
236
CIMAGE_FUNC(Bool32) CIMAGE_SetImportData(Word32 dwType, void * pData);
215
CIMAGE_FUNC(uint32_t) CIMAGE_GetReturnCode();
216
CIMAGE_FUNC(char *) CIMAGE_GetReturnString(uint32_t dwError);
217
CIMAGE_FUNC(Bool32) CIMAGE_GetExportData(uint32_t dwType, void * pData);
218
CIMAGE_FUNC(Bool32) CIMAGE_SetImportData(uint32_t dwType, void * pData);
237
219
/////////////////////////////////////////////////////////////
261
243
#define DEC_FUN(a,b,c) typedef a (*FNCIMAGE##b)c; CIMAGE_FUNC(a) CIMAGE_##b c
262
244
//////////////////////////////////////////////////////////////////////////////////////////
264
DEC_FUN(Bool32, WriteCallbackImage, (PWord8 , CIMAGEIMAGECALLBACK));
265
DEC_FUN(Bool32, GetCallbackImage, (PWord8 , PCIMAGEIMAGECALLBACK));
266
DEC_FUN(Bool32, WriteDIB, (PWord8 , Handle, Word32));
267
DEC_FUN(Bool32, ReadDIB, (PWord8 , PHandle, Word32));
268
DEC_FUN(Bool32, GetData, (PWord8 , PCIMAGE_InfoDataInGet, PCIMAGE_InfoDataOutGet));
269
DEC_FUN(Bool32, GetDIBData, (PWord8 , PCIMAGE_InfoDataInGet, PInt8*));
270
DEC_FUN(Bool32, ReplaceData, (PWord8 , PCIMAGE_InfoDataInReplace));
271
DEC_FUN(Bool32, GetImageInfo, (PWord8 , PCIMAGEBITMAPINFOHEADER));
272
DEC_FUN(Bool32, DeleteImage, (PWord8 ));
246
DEC_FUN(Bool32, WriteCallbackImage, (puchar , CIMAGEIMAGECALLBACK));
247
DEC_FUN(Bool32, GetCallbackImage, (puchar , PCIMAGEIMAGECALLBACK));
248
DEC_FUN(Bool32, WriteDIB, (puchar , Handle, uint32_t));
249
DEC_FUN(Bool32, ReadDIB, (puchar , Handle*, uint32_t));
250
DEC_FUN(Bool32, GetData, (puchar , PCIMAGE_InfoDataInGet, PCIMAGE_InfoDataOutGet));
251
DEC_FUN(Bool32, GetDIBData, (puchar , PCIMAGE_InfoDataInGet, pchar*));
252
DEC_FUN(Bool32, ReplaceData, (puchar , PCIMAGE_InfoDataInReplace));
253
DEC_FUN(Bool32, GetImageInfo, (puchar , PCIMAGEBITMAPINFOHEADER));
254
DEC_FUN(Bool32, DeleteImage, (puchar ));
273
255
DEC_FUN(Bool32, FreeCopedDIB, (Handle));
274
256
DEC_FUN(Bool32, FreeBuffers, (void));
275
257
DEC_FUN(Bool32, Reset, (void));
276
DEC_FUN(Bool32, AddReadCloseRects, (PWord8, Word32, PCIMAGE_Rect));
277
DEC_FUN(Bool32, RemoveReadCloseRects, (PWord8, Word32, PCIMAGE_Rect));
278
DEC_FUN(Bool32, AddWriteCloseRects, (PWord8, Word32, PCIMAGE_Rect));
279
DEC_FUN(Bool32, RemoveWriteCloseRects,(PWord8, Word32, PCIMAGE_Rect));
280
DEC_FUN(Bool32, EnableMask, (PWord8, PWord8, Bool32));
258
DEC_FUN(Bool32, AddReadCloseRects, (puchar, uint32_t, PCIMAGE_Rect));
259
DEC_FUN(Bool32, RemoveReadCloseRects, (puchar, uint32_t, PCIMAGE_Rect));
260
DEC_FUN(Bool32, AddWriteCloseRects, (puchar, uint32_t, PCIMAGE_Rect));
261
DEC_FUN(Bool32, RemoveWriteCloseRects,(puchar, uint32_t, PCIMAGE_Rect));
262
DEC_FUN(Bool32, EnableMask, (puchar, puchar, Bool32));
283
265
///////////////////////////////////////////////////////////////////////////////////
284
266
#define DEC_CB_FUN(a,b,c) typedef a (*FNCIMAGE##b)c; CIMAGE_CALLBACK_FUNC(a) CIMAGE_##b c
286
268
DEC_CB_FUN(CIMAGEBOOL16, Callback_ImageOpen, (PCIMAGE_ImageInfo lpImageInfo));
287
DEC_CB_FUN(CIMAGEWORD, Callback_ImageRead, (PInt8 lpImage, Word16 wMaxSize));
269
DEC_CB_FUN(CIMAGEWORD, Callback_ImageRead, (pchar lpImage, uint16_t wMaxSize));
288
270
DEC_CB_FUN(CIMAGEBOOL16, Callback_ImageClose, (void));
290
272
#undef DEC_CB_FUN