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:
102
Bool32 ApplayMaskToDIBLine(PCTDIB pcDIB, PCTIMaskLineSegment pSegm, Word32 wLine, Word32 wAtX, Word32 wAtY);
103
Bool32 ApplayMaskToDIB(PCTDIB pDIB, PCTIMask pMask, Word32 wAtX = 0, Word32 wAtY = 0);
104
Bool32 RemoveRectsFromMask(const char *lpName, Word32 wNumber, PCIMAGE_Rect pFirstRect, const char*pcType);
105
Bool32 AddRectsToMask(const char *lpName, Word32 wNumber, PCIMAGE_Rect pFirstRect, const char *pcType);
102
Bool32 ApplayMaskToDIBLine(PCTDIB pcDIB, PCTIMaskLineSegment pSegm, uint32_t wLine, uint32_t wAtX, uint32_t wAtY);
103
Bool32 ApplayMaskToDIB(PCTDIB pDIB, PCTIMask pMask, uint32_t wAtX = 0, uint32_t wAtY = 0);
104
Bool32 RemoveRectsFromMask(const char *lpName, uint32_t wNumber, PCIMAGE_Rect pFirstRect, const char*pcType);
105
Bool32 AddRectsToMask(const char *lpName, uint32_t wNumber, PCIMAGE_Rect pFirstRect, const char *pcType);
106
106
Bool32 OpenDIBFromList(const char *lpName, PCTDIB pDIB);
107
Bool32 SetMaskToList(PChar8 pName, PCTIMask pMask, PChar8 pcType);
107
Bool32 SetMaskToList(char* pName, PCTIMask pMask, char* pcType);
108
108
Bool32 OpenMaskFromList(const char *lpName, PPCTIMask ppMask, PBool32 pEnMask, const char *pcType);
109
Bool32 OpenDIBFromList(PChar8 lpName, PHandle phImage);
109
Bool32 OpenDIBFromList(char* lpName, Handle* phImage);
110
110
Bool32 WriteDIBtoBMP(const char *cName, PCTDIB pDIB);
111
111
Bool32 SetFrame(PCTDIB pSrcDIB, PCTDIB pDscDIB, PCIMAGE_InfoDataInReplace pIn);
112
112
Bool32 ApplayBitMaskToFrame(PCIMAGE_InfoDataInGet pIn, PCIMAGE_InfoDataOutGet pOut);
113
Bool32 ApplayBitMaskToDIB(PWord8 pMask, PCTDIB pDIB);
113
Bool32 ApplayBitMaskToDIB(puchar pMask, PCTDIB pDIB);
114
114
Bool32 CopyFromFrame(PCTDIB pSrcDIB, PCTDIB pDscDIB, PCIMAGE_InfoDataInReplace pFrameIn);
115
Bool32 CopyToFrame(PCTDIB pSrcDIB, PCTDIB pDscDIB, PCIMAGE_InfoDataInGet pFrameInfo, PWord8 pMask);
116
Bool32 GetFrame(PCTDIB pSrcDIB, PCTDIB pDscDIB, PCIMAGE_InfoDataInGet pIn, PWord8 pMask);
117
Bool32 CopyDIB(Handle hDIB, PHandle hCopyedDib);
118
Bool32 DumpToFile(PChar8 FileName, PWord8 pData, Word32 Size);
115
Bool32 CopyToFrame(PCTDIB pSrcDIB, PCTDIB pDscDIB, PCIMAGE_InfoDataInGet pFrameInfo, puchar pMask);
116
Bool32 GetFrame(PCTDIB pSrcDIB, PCTDIB pDscDIB, PCIMAGE_InfoDataInGet pIn, puchar pMask);
117
Bool32 CopyDIB(Handle hDIB, Handle* hCopyedDib);
118
Bool32 DumpToFile(char* FileName, puchar pData, uint32_t Size);
119
119
Bool32 CheckInData(PCTDIB pDIB, PCIMAGE_InfoDataInGet lpIn, PCIMAGE_InfoDataInGet lpNewIn = NULL);
122
Bool32 EnableMask(PChar8 pcName, PChar8 pcType, Bool32 bEnable);
123
Bool32 RemoveReadRectangles(PChar8 lpName, Word32 wNumber, PCIMAGE_Rect pFirst);
124
Bool32 AddReadRectangles(PChar8 lpName, Word32 wNumber, PCIMAGE_Rect pFirst);
125
Bool32 RemoveWriteRectangles(PChar8 lpName, Word32 wNumber, PCIMAGE_Rect pFirst);
126
Bool32 AddWriteRectangles(PChar8 lpName, Word32 wNumber, PCIMAGE_Rect pFirst);
122
Bool32 EnableMask(char* pcName, char* pcType, Bool32 bEnable);
123
Bool32 RemoveReadRectangles(char* lpName, uint32_t wNumber, PCIMAGE_Rect pFirst);
124
Bool32 AddReadRectangles(char* lpName, uint32_t wNumber, PCIMAGE_Rect pFirst);
125
Bool32 RemoveWriteRectangles(char* lpName, uint32_t wNumber, PCIMAGE_Rect pFirst);
126
Bool32 AddWriteRectangles(char* lpName, uint32_t wNumber, PCIMAGE_Rect pFirst);
127
127
Bool32 FreeBuffers(void);
128
128
Bool32 FreeAlloced(Handle hDIB);
129
Bool32 GetDIBFromImage(PChar8 lpName, PCIMAGE_InfoDataInGet lpIn, PInt8 *pDIB);
130
Bool32 RemoveImage(PChar8 lpName);
131
Bool32 GetImageInfo(PChar8 lpImage, PCIMAGEBITMAPINFOHEADER lpBIH);
132
Bool32 ReplaceImage(PChar8 lpName, PCIMAGE_InfoDataInReplace lpIn);
133
Bool32 GetImage(PChar8 lpName, PCIMAGE_InfoDataInGet lpIn, PCIMAGE_InfoDataOutGet lplpOut);
134
Bool32 GetDIB(PChar8 lpName, PHandle phDIB, Word32 wFlag = 0);
135
Bool32 SetDIB(PChar8 lpName, Handle hDIB, Word32 wFlag = 0);
136
Bool32 GetCBImage (PChar8 lpName, PCIMAGEIMAGECALLBACK pCbk);
137
Bool32 WriteCBImage(PChar8 lpName, CIMAGEIMAGECALLBACK Cbk );
129
Bool32 GetDIBFromImage(char* lpName, PCIMAGE_InfoDataInGet lpIn, pchar *pDIB);
130
Bool32 RemoveImage(char* lpName);
131
Bool32 GetImageInfo(char* lpImage, PCIMAGEBITMAPINFOHEADER lpBIH);
132
Bool32 ReplaceImage(char* lpName, PCIMAGE_InfoDataInReplace lpIn);
133
Bool32 GetImage(char* lpName, PCIMAGE_InfoDataInGet lpIn, PCIMAGE_InfoDataOutGet lplpOut);
134
Bool32 GetDIB(char* lpName, Handle* phDIB, uint32_t wFlag = 0);
135
Bool32 SetDIB(char* lpName, Handle hDIB, uint32_t wFlag = 0);
136
Bool32 GetCBImage (char* lpName, PCIMAGEIMAGECALLBACK pCbk);
137
Bool32 WriteCBImage(char* lpName, CIMAGEIMAGECALLBACK Cbk );
138
138
Bool32 CBImageOpen(PCIMAGE_ImageInfo lpImageInfo);
139
139
Bool32 CBImageClose(void);
140
Word32 CBImageRead(PChar8 lpName, Word32 wMaxSize);
140
uint32_t CBImageRead(char* lpName, uint32_t wMaxSize);
141
141
Bool32 CloseDIBFromList(PCTDIB pDIB);
144
144
Handle mhCopyedDIB;
145
145
Bool32 mbWriteFlag;
146
Word32 mwMemoryErrors;
147
Word8 mwLAWhiteRightMask[8];
148
Word8 mwLAWhiteLeftMask[8];
149
Word8 mwLABlackRightMask[8];
150
Word8 mwLABlackLeftMask[8];
151
Word8 mwIndexMask[8];
146
uint32_t mwMemoryErrors;
147
uchar mwLAWhiteRightMask[8];
148
uchar mwLAWhiteLeftMask[8];
149
uchar mwLABlackRightMask[8];
150
uchar mwLABlackLeftMask[8];
151
uchar mwIndexMask[8];
152
152
Bool32 mbSourceDIBCopy;
153
153
PCTIMask mpcSrcDIBReadMask;
154
154
PCTIMask mpcSrcDIBWriteMask;