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
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
33
Redistribution and use in source and binary forms, with or without modification,
34
are permitted provided that the following conditions are met:
36
* Redistributions of source code must retain the above copyright notice,
37
this list of conditions and the following disclaimer.
38
* Redistributions in binary form must reproduce the above copyright notice,
39
this list of conditions and the following disclaimer in the documentation
40
and/or other materials provided with the distribution.
41
* Neither the name of the Cognitive Technologies nor the names of its
42
contributors may be used to endorse or promote products derived from this
43
software without specific prior written permission.
45
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
46
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
47
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
49
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
50
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
51
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
52
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
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
ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ И ПОТЕРЬ.
33
Redistribution and use in source and binary forms, with or without modification,
34
are permitted provided that the following conditions are met:
36
* Redistributions of source code must retain the above copyright notice,
37
this list of conditions and the following disclaimer.
38
* Redistributions in binary form must reproduce the above copyright notice,
39
this list of conditions and the following disclaimer in the documentation
40
and/or other materials provided with the distribution.
41
* Neither the name of the Cognitive Technologies nor the names of its
42
contributors may be used to endorse or promote products derived from this
43
software without specific prior written permission.
45
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
46
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
47
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
49
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
50
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
51
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
52
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57
57
////////////////////////////////////////////////////////////
58
58
// CONTAINER OF THE STRING //
64
64
// Modification : 21 Jul 1998 //
65
65
////////////////////////////////////////////////////////////
76
73
#ifndef __RECDEFS_H
82
#define CSTR_FUNC FUN_EXPO
84
#define CSTR_FUNC FUN_IMPO
91
/////////////////////////////////
94
//typedef void * Handle ;
79
#define CSTR_FUNC FUN_EXPO
81
#define CSTR_FUNC FUN_IMPO
97
88
///////////////////////////////AK
99
CSTR_FUNC(Bool32) CSTR_Init( Word16 wHeightCode , Handle hStorage);
100
CSTR_FUNC(void) CSTR_Done(void);
101
CSTR_FUNC(Word32) CSTR_GetReturnCode(void);
102
CSTR_FUNC(char*) CSTR_GetReturnString(Word32 dwError);
103
CSTR_FUNC(Bool32) CSTR_SetImportData(Word32 dwType, void * pData);
104
CSTR_FUNC(Bool32) CSTR_GetExportData(Word32 dwType, void * pData);
106
enum CSTRFunctionsExt
121
CSTR_FNSTORECOLLECTION,
151
CSTR_FNGETCOLLECTIONUNI,
152
CSTR_FNSTORECOLLECTIONUNI,
158
CSTR_FNGETRASTERLINE,
166
CSTR_FNFIRSTLINEFRAGM,
167
CSTR_FNNEXTLINEFRAGM,
168
CSTR_FNSTORECOMPORIGINAL,
169
CSTR_FNGETMAXFRAGMENT,
172
CSTR_INSERTRASTERDOWN,
182
enum CSTRFunctionsImp
193
// 1 CSTR_FNNEWLINE ���������� ����� ������
194
typedef CSTR_line (*FNCSTR_NewLine)(Int32 lineno, Int32 version, Int32 container);
195
CSTR_FUNC(CSTR_line) CSTR_NewLine (Int32 lineno, Int32 version, Int32 container);
196
// 2 CSTR_FNDELLINE ������� ������
197
typedef Bool32 (*FNCSTR_DeleteLine)(CSTR_line line);
198
CSTR_FUNC(Bool32) CSTR_DeleteLine (CSTR_line line);
199
// 3 CSTR_FNSETSTRATTR ���������� �������� ������� ������
200
typedef Bool32 (*FNCSTR_SetLineAttr)(CSTR_line line,CSTR_attr * attr);
201
CSTR_FUNC(Bool32) CSTR_SetLineAttr (CSTR_line line,CSTR_attr * attr);
202
// 4 CSTR_FNGETSTRATTR �������� �������� ������� ������
203
typedef Bool32 (*FNCSTR_GetLineAttr)(CSTR_line line,CSTR_attr * attr);
204
CSTR_FUNC(Bool32) CSTR_GetLineAttr (CSTR_line line,CSTR_attr * attr);
205
// 5 CSTR_FNGETFIRST ���� ����� ������� (����������) ������ � ������
206
typedef CSTR_rast (*FNCSTR_GetFirstRaster)(CSTR_line line);
207
CSTR_FUNC(CSTR_rast) CSTR_GetFirstRaster (CSTR_line line);
208
// 6 CSTR_FNGETLAST ���� ����� ���������� (����������) ������ � ������
209
typedef CSTR_rast (*FNCSTR_GetLastRaster)(CSTR_line line);
210
CSTR_FUNC(CSTR_rast) CSTR_GetLastRaster (CSTR_line line);
211
// 7 CSTR_FNGETNEXT ���� ����� ���������� ������
212
typedef CSTR_rast (*FNCSTR_GetNextRaster)(CSTR_rast curr_raster, Word32 type_raster);
213
CSTR_FUNC(CSTR_rast) CSTR_GetNextRaster (CSTR_rast curr_raster, Word32 type_raster);
214
// 8 CSTR_FNGETPREV ���� ����� ����������� ������
215
typedef CSTR_rast (*FNCSTR_GetPrevRaster)(CSTR_rast curr_raster, Word32 type_raster);
216
CSTR_FUNC(CSTR_rast) CSTR_GetPrevRaster (CSTR_rast curr_raster, Word32 type_raster);
217
// 9 CSTR_FNGETLINE ���� ����� ������, ���������� � �������
218
typedef CSTR_line (*FNCSTR_GetLine)(CSTR_rast curr_raster);
219
CSTR_FUNC(CSTR_line) CSTR_GetLine (CSTR_rast curr_raster);
220
// 10 CSTR_FNSTORELINE ������� ������ ������
221
typedef Bool32 (*FNCSTR_StoreLine)(CSTR_rast curr_raster, CSTR_line line);
222
CSTR_FUNC(Bool32) CSTR_StoreLine (CSTR_rast curr_raster, CSTR_line line);
223
// 11 CSTR_FNNEWRASTER ������� ����� ����� � ������� ������
224
typedef CSTR_rast (*FNCSTR_NewRaster)(CSTR_line line ,Int32 col, Int32 row, Int32 w);
225
CSTR_FUNC(CSTR_rast) CSTR_NewRaster (CSTR_line line ,Int32 col, Int32 row, Int32 w);
226
// 12 CSTR_FNSTORERASTER ��������� ����� ��� �����������
227
typedef Bool32 (*FNCSTR_StoreRaster)(CSTR_rast curr_raster, RecRaster *image);
228
CSTR_FUNC(Bool32) CSTR_StoreRaster (CSTR_rast curr_raster, RecRaster *image);
229
// 13 CSTR_FNSTORECOMP ��������� ����� ��� ���������� � ������������ ��������������
230
typedef Bool32 (*FNCSTR_StoreComp)(CSTR_rast curr_raster, Word8 *lp, Bool32 raster_init, Word8 scale);
231
CSTR_FUNC(Bool32) CSTR_StoreComp (CSTR_rast curr_raster, Word8 *lp, Bool32 raster_init, Word8 scale);
232
// 14 CSTR_FNSTORECOLLECTION ��������� ���������
233
typedef Bool32 (*FNCSTR_StoreCollection)(CSTR_rast curr_raster, RecVersions *collect);
234
CSTR_FUNC(Bool32) CSTR_StoreCollection (CSTR_rast curr_raster, RecVersions *collect);
235
// 15 CSTR_FNDELRASTER ������� �����
236
typedef CSTR_rast (*FNCSTR_DelRaster)(CSTR_rast curr_raster);
237
CSTR_FUNC(CSTR_rast) CSTR_DelRaster (CSTR_rast curr_raster);
238
// 16 CSTR_FNVERIFY ������������� ������ ������
239
typedef Bool32 (*FNCSTR_VerifyLine)(CSTR_line line);
240
CSTR_FUNC(Bool32) CSTR_VerifyLine (CSTR_line line);
241
// 17 CSTR_FNGETRASTER �������� ����������� (����� ��� ���������)
242
typedef Bool32 (*FNCSTR_GetImage)(CSTR_rast curr_raster, Word8 *out_res, Word32 type_image);
243
CSTR_FUNC(Bool32) CSTR_GetImage (CSTR_rast curr_raster, Word8 *out_res, Word32 type_image);
244
// 18 CSTR_FNGETATTR �������� �������� ������
245
typedef Bool32 (*FNCSTR_GetAttr)(CSTR_rast curr_raster, CSTR_rast_attr * attr);
246
CSTR_FUNC(Bool32) CSTR_GetAttr (CSTR_rast curr_raster, CSTR_rast_attr * attr);
247
// 19 CSTR_FNGETCOLLECT �������� ���������
248
typedef Bool32 (*FNCSTR_GetCollection)(CSTR_rast curr_raster, RecVersions *result_collect);
249
CSTR_FUNC(Bool32) CSTR_GetCollection (CSTR_rast curr_raster, RecVersions *result_collect);
250
// 20 CSTR_FNSETUSER �������� � ����� ���������������� ������
251
typedef Bool32 (*FNCSTR_SetUserAttr)(CSTR_rast raster, CCOM_USER_BLOCK *ub);
252
CSTR_FUNC(Bool32) CSTR_SetUserAttr (CSTR_rast raster, CCOM_USER_BLOCK *ub);
253
// 21 CSTR_FNGETUSER ��������� �� ������ ���������������� ������
254
typedef Bool32 (*FNCSTR_GetUserAttr)(CSTR_rast raster, CCOM_USER_BLOCK *ub);
255
CSTR_FUNC(Bool32) CSTR_GetUserAttr (CSTR_rast raster, CCOM_USER_BLOCK *ub);
256
// 22 CSTR_FNSETATTR �������� �������� ������
257
typedef Bool32 (*FNCSTR_SetAttr)(CSTR_rast curr_raster, CSTR_rast_attr * attr);
258
CSTR_FUNC(Bool32) CSTR_SetAttr (CSTR_rast curr_raster, CSTR_rast_attr * attr);
259
// 23 CSTR_FNCOPYLINE ����������� ���������� ������
260
typedef Bool32 (*FNCSTR_CopyLine)(CSTR_line trg,CSTR_line src);
261
CSTR_FUNC(Bool32) CSTR_CopyLine (CSTR_line trg,CSTR_line src);
262
// 24 CSTR_FNGETLNHND ���� ����� ������ �� ������ � ������
263
typedef CSTR_line (*FNCSTR_GetLineHandle)(Int32 line_no, Int32 version);
264
CSTR_FUNC(CSTR_line ) CSTR_GetLineHandle (Int32 line_no, Int32 version);
265
// 25 CSTR_FNGETCOMP �������� ���������y ������
266
typedef CCOM_comp * (*FNCSTR_GetComp)(CSTR_rast curr_raster);
267
CSTR_FUNC(CCOM_comp *) CSTR_GetComp (CSTR_rast curr_raster);
268
// 26 CSTR_FNNEWUSERCODE �������� ��������� ��� ����������������� �����
269
typedef Int32 (*FNCSTR_NewUserCode) (void);
270
CSTR_FUNC(Int32) CSTR_NewUserCode (void);
271
// 27 CSTR_FNVERSION ������ ����������
272
// 28 CSTR_FNTOTXT �������� ��������� ����� ������
273
typedef Bool32 (*FNCSTR_LineToTxt)(CSTR_line lin, char *txt);
274
CSTR_FUNC(Bool32) CSTR_LineToTxt (CSTR_line lin, char *txt);
275
// 29 CSTR_FNINSRST �������� ����� ����� ��������
276
typedef CSTR_rast (*FNCSTR_InsertRaster)(CSTR_rast curr_raster);
277
CSTR_FUNC(CSTR_rast) CSTR_InsertRaster (CSTR_rast curr_raster);
278
// 30 CSTR_FNMAXNUM ���������� ����� ������ � ����������
279
typedef Int32 (*FNCSTR_GetMaxNumber)(void);
280
CSTR_FUNC(Int32) CSTR_GetMaxNumber (void);
281
// 31 CSTR_FNFIRSTLN ������ ������ ��������� ������
282
typedef CSTR_line (*FNCSTR_FirstLine)( Int32 version);
283
CSTR_FUNC(CSTR_line) CSTR_FirstLine ( Int32 version);
284
// 32 CSTR_FNNEXTTLN ��������� ������ ��������� ������
285
typedef CSTR_line (*FNCSTR_NextLine)( CSTR_line start, Int32 version);
286
CSTR_FUNC(CSTR_line) CSTR_NextLine ( CSTR_line start,Int32 version);
287
// 33 CSTR_FNDELALL ������� ��� ������
90
CSTR_FUNC(Bool32) CSTR_Init( uint16_t wHeightCode , Handle hStorage);
91
CSTR_FUNC(void) CSTR_Done(void);
92
CSTR_FUNC(uint32_t) CSTR_GetReturnCode(void);
93
CSTR_FUNC(char*) CSTR_GetReturnString(uint32_t dwError);
94
CSTR_FUNC(Bool32) CSTR_SetImportData(uint32_t dwType, void * pData);
95
CSTR_FUNC(Bool32) CSTR_GetExportData(uint32_t dwType, void * pData);
97
enum CSTRFunctionsExt {
111
CSTR_FNSTORECOLLECTION,
141
CSTR_FNGETCOLLECTIONUNI,
142
CSTR_FNSTORECOLLECTIONUNI,
148
CSTR_FNGETRASTERLINE,
156
CSTR_FNFIRSTLINEFRAGM,
157
CSTR_FNNEXTLINEFRAGM,
158
CSTR_FNSTORECOMPORIGINAL,
159
CSTR_FNGETMAXFRAGMENT,
162
CSTR_INSERTRASTERDOWN,
172
enum CSTRFunctionsImp {
182
// 1 CSTR_FNNEWLINE Образовать новую строку
183
typedef CSTR_line (*FNCSTR_NewLine)(int32_t lineno, int32_t version,
185
CSTR_FUNC(CSTR_line) CSTR_NewLine (int32_t lineno, int32_t version, int32_t container);
186
// 2 CSTR_FNDELLINE Удалить строку
187
typedef Bool32 (*FNCSTR_DeleteLine)(CSTR_line line);
188
CSTR_FUNC(Bool32) CSTR_DeleteLine (CSTR_line line);
189
// 3 CSTR_FNSETSTRATTR установить атрибуты текущей строки
190
typedef Bool32 (*FNCSTR_SetLineAttr)(CSTR_line line, CSTR_attr * attr);
191
CSTR_FUNC(Bool32) CSTR_SetLineAttr (CSTR_line line,CSTR_attr * attr);
192
// 4 CSTR_FNGETSTRATTR получить атрибуты текущей строки
193
typedef Bool32 (*FNCSTR_GetLineAttr)(CSTR_line line, CSTR_attr * attr);
194
CSTR_FUNC(Bool32) CSTR_GetLineAttr (CSTR_line line,CSTR_attr * attr);
195
// 5 CSTR_FNGETFIRST дать хэндл первого (фиктивного) растра в строке
196
typedef CSTR_rast (*FNCSTR_GetFirstRaster)(CSTR_line line);
197
CSTR_FUNC(CSTR_rast) CSTR_GetFirstRaster (CSTR_line line);
198
// 6 CSTR_FNGETLAST дать хэндл последнего (фиктивного) растра в строке
199
typedef CSTR_rast (*FNCSTR_GetLastRaster)(CSTR_line line);
200
CSTR_FUNC(CSTR_rast) CSTR_GetLastRaster (CSTR_line line);
201
// 7 CSTR_FNGETNEXT дать хэндл следующего растра
202
typedef CSTR_rast (*FNCSTR_GetNextRaster)(CSTR_rast curr_raster,
203
uint32_t type_raster);
204
CSTR_FUNC(CSTR_rast) CSTR_GetNextRaster (CSTR_rast curr_raster, uint32_t type_raster);
205
// 8 CSTR_FNGETPREV дать хэндл предыдущего растра
206
typedef CSTR_rast (*FNCSTR_GetPrevRaster)(CSTR_rast curr_raster,
207
uint32_t type_raster);
208
CSTR_FUNC(CSTR_rast) CSTR_GetPrevRaster (CSTR_rast curr_raster, uint32_t type_raster);
209
// 9 CSTR_FNGETLINE дать хэндл строки, сопряжённой с растром
210
typedef CSTR_line (*FNCSTR_GetLine)(CSTR_rast curr_raster);
211
CSTR_FUNC(CSTR_line) CSTR_GetLine (CSTR_rast curr_raster);
212
// 10 CSTR_FNSTORELINE придать растру строку
213
typedef Bool32 (*FNCSTR_StoreLine)(CSTR_rast curr_raster, CSTR_line line);
214
CSTR_FUNC(Bool32) CSTR_StoreLine (CSTR_rast curr_raster, CSTR_line line);
215
// 11 CSTR_FNNEWRASTER создать новый растр в текущей строке
216
typedef CSTR_rast (*FNCSTR_NewRaster)(CSTR_line line, int32_t col, int32_t row,
218
CSTR_FUNC(CSTR_rast) CSTR_NewRaster (CSTR_line line ,int32_t col, int32_t row, int32_t w);
219
// 12 CSTR_FNSTORERASTER запомнить растр как изображение
220
typedef Bool32 (*FNCSTR_StoreRaster)(CSTR_rast curr_raster, RecRaster *image);
221
CSTR_FUNC(Bool32) CSTR_StoreRaster (CSTR_rast curr_raster, RecRaster *image);
222
// 13 CSTR_FNSTORECOMP запомнить растр как компоненту с интервальным представлением
223
typedef Bool32 (*FNCSTR_StoreComp)(CSTR_rast curr_raster, uchar *lp,
224
Bool32 raster_init, uchar scale);
225
CSTR_FUNC(Bool32) CSTR_StoreComp (CSTR_rast curr_raster, uchar *lp, Bool32 raster_init, uchar scale);
226
// 14 CSTR_FNSTORECOLLECTION запомнить коллекцию
227
typedef Bool32 (*FNCSTR_StoreCollection)(CSTR_rast curr_raster,
228
RecVersions *collect);
229
CSTR_FUNC(Bool32) CSTR_StoreCollection (CSTR_rast curr_raster, RecVersions *collect);
230
// 15 CSTR_FNDELRASTER удалить растр
231
typedef CSTR_rast (*FNCSTR_DelRaster)(CSTR_rast curr_raster);
232
CSTR_FUNC(CSTR_rast) CSTR_DelRaster (CSTR_rast curr_raster);
233
// 16 CSTR_FNVERIFY отсортировать список строки
234
typedef Bool32 (*FNCSTR_VerifyLine)(CSTR_line line);
235
CSTR_FUNC(Bool32) CSTR_VerifyLine (CSTR_line line);
236
// 17 CSTR_FNGETRASTER получить изображение (растр или интервалы)
237
typedef Bool32 (*FNCSTR_GetImage)(CSTR_rast curr_raster, uchar *out_res,
238
uint32_t type_image);
239
CSTR_FUNC(Bool32) CSTR_GetImage (CSTR_rast curr_raster, uchar *out_res, uint32_t type_image);
240
// 18 CSTR_FNGETATTR получить атрибуты растра
241
typedef Bool32 (*FNCSTR_GetAttr)(CSTR_rast curr_raster, CSTR_rast_attr * attr);
242
CSTR_FUNC(Bool32) CSTR_GetAttr (CSTR_rast curr_raster, CSTR_rast_attr * attr);
243
// 19 CSTR_FNGETCOLLECT получить коллекцию
244
typedef Bool32 (*FNCSTR_GetCollection)(CSTR_rast curr_raster,
245
RecVersions *result_collect);
246
CSTR_FUNC(Bool32) CSTR_GetCollection (CSTR_rast curr_raster, RecVersions *result_collect);
247
// 20 CSTR_FNSETUSER записать в растр пользовательские данные
248
typedef Bool32 (*FNCSTR_SetUserAttr)(CSTR_rast raster, CCOM_USER_BLOCK *ub);
249
CSTR_FUNC(Bool32) CSTR_SetUserAttr (CSTR_rast raster, CCOM_USER_BLOCK *ub);
250
// 21 CSTR_FNGETUSER прочитать из растра пользовательские данные
251
typedef Bool32 (*FNCSTR_GetUserAttr)(CSTR_rast raster, CCOM_USER_BLOCK *ub);
252
CSTR_FUNC(Bool32) CSTR_GetUserAttr (CSTR_rast raster, CCOM_USER_BLOCK *ub);
253
// 22 CSTR_FNSETATTR записать атрибуты растра
254
typedef Bool32 (*FNCSTR_SetAttr)(CSTR_rast curr_raster, CSTR_rast_attr * attr);
255
CSTR_FUNC(Bool32) CSTR_SetAttr (CSTR_rast curr_raster, CSTR_rast_attr * attr);
256
// 23 CSTR_FNCOPYLINE скопировать содержимое строки
257
typedef Bool32 (*FNCSTR_CopyLine)(CSTR_line trg, CSTR_line src);
258
CSTR_FUNC(Bool32) CSTR_CopyLine (CSTR_line trg,CSTR_line src);
259
// 24 CSTR_FNGETLNHND дать хендл строки по номеру и версии
260
typedef CSTR_line (*FNCSTR_GetLineHandle)(int32_t line_no, int32_t version);
261
CSTR_FUNC(CSTR_line ) CSTR_GetLineHandle (int32_t line_no, int32_t version);
262
// 25 CSTR_FNGETCOMP получить компонентy растра
263
typedef CCOM_comp * (*FNCSTR_GetComp)(CSTR_rast curr_raster);
264
CSTR_FUNC(CCOM_comp *) CSTR_GetComp (CSTR_rast curr_raster);
265
// 26 CSTR_FNNEWUSERCODE получить доступный код пользовательского блока
266
typedef int32_t (*FNCSTR_NewUserCode)(void);
267
CSTR_FUNC(int32_t) CSTR_NewUserCode (void);
268
// 27 CSTR_FNVERSION версия библиотеки
269
// 28 CSTR_FNTOTXT получить текстовый обрах строки
270
typedef Bool32 (*FNCSTR_LineToTxt)(CSTR_line lin, char *txt);
271
CSTR_FUNC(Bool32) CSTR_LineToTxt (CSTR_line lin, char *txt);
272
// 29 CSTR_FNINSRST вставить растр после текущего
273
typedef CSTR_rast (*FNCSTR_InsertRaster)(CSTR_rast curr_raster);
274
CSTR_FUNC(CSTR_rast) CSTR_InsertRaster (CSTR_rast curr_raster);
275
// 30 CSTR_FNMAXNUM наибольший номер строки в контейнере
276
typedef int32_t (*FNCSTR_GetMaxNumber)(void);
277
CSTR_FUNC(int32_t) CSTR_GetMaxNumber (void);
278
// 31 CSTR_FNFIRSTLN первая строка указанной версии
279
typedef CSTR_line (*FNCSTR_FirstLine)(int32_t version);
280
CSTR_FUNC(CSTR_line) CSTR_FirstLine ( int32_t version);
281
// 32 CSTR_FNNEXTTLN следующая строка указанной версии
282
typedef CSTR_line (*FNCSTR_NextLine)(CSTR_line start, int32_t version);
283
CSTR_FUNC(CSTR_line) CSTR_NextLine ( CSTR_line start,int32_t version);
284
// 33 CSTR_FNDELALL удалить все строки
288
285
typedef void (*FNCSTR_DeleteAll)(void);
289
286
CSTR_FUNC(void) CSTR_DeleteAll(void);
290
// 34 CSTR_FNNEXT ��������� ����������� �����
291
typedef CSTR_rast (*FNCSTR_GetNext)(CSTR_rast rst);
292
CSTR_FUNC(CSTR_rast) CSTR_GetNext(CSTR_rast rst);
293
// 35 CSTR_FNPREV ���������� ����������� �����
294
typedef CSTR_rast (*FNCSTR_GetPrev)(CSTR_rast rst);
295
CSTR_FUNC(CSTR_rast) CSTR_GetPrev(CSTR_rast rst);
296
// 36 CSTR_FNSWAP �������� ������� 2 ������
287
// 34 CSTR_FNNEXT следующий нефиктивный растр
288
typedef CSTR_rast (*FNCSTR_GetNext)(CSTR_rast rst);
289
CSTR_FUNC(CSTR_rast) CSTR_GetNext(CSTR_rast rst);
290
// 35 CSTR_FNPREV предыдущий нефиктивный растр
291
typedef CSTR_rast (*FNCSTR_GetPrev)(CSTR_rast rst);
292
CSTR_FUNC(CSTR_rast) CSTR_GetPrev(CSTR_rast rst);
293
// 36 CSTR_FNSWAP обменять местами 2 растра
297
294
typedef Bool32 (*FNCSTR_SwapRasters)(CSTR_rast r1, CSTR_rast r2);
298
295
CSTR_FUNC(Bool32) CSTR_SwapRasters(CSTR_rast r1, CSTR_rast r2);
299
// 37 CSTR_FNDELSAVE ������� � �����������
296
// 37 CSTR_FNDELSAVE удалить с сохранением
300
297
typedef CSTR_rast (*FNCSTR_DelSaveRaster)(CSTR_rast c);
301
CSTR_FUNC(CSTR_rast) CSTR_DelSaveRaster(CSTR_rast c);
302
// 38 CSTR_FNRESTRAST ������������
303
typedef CSTR_rast (*FNCSTR_RestoreRaster)(CSTR_line ln,CSTR_rast rst);
298
CSTR_FUNC(CSTR_rast) CSTR_DelSaveRaster(CSTR_rast c);
299
// 38 CSTR_FNRESTRAST восстановить
300
typedef CSTR_rast (*FNCSTR_RestoreRaster)(CSTR_line ln, CSTR_rast rst);
304
301
CSTR_FUNC(CSTR_rast) CSTR_RestoreRaster(CSTR_line ln,CSTR_rast rst);
305
// 39 CSTR_FNCOMPOSE ������� ������ �������
306
typedef CSTR_rast (*FNCSTR_compose_Cell)(Int32 n,CSTR_rast *clist, Int32 nIncline, Bool32 NeedDel);
307
CSTR_FUNC(CSTR_rast) CSTR_compose_Cell(Int32 n,CSTR_rast *clist, Int32 nIncline, Bool32 NeedDel);
308
// 40 CSTR_KILLIM ����� ����� � ������
309
typedef Bool32 (*FNCSTR_KillImage)(CSTR_rast rst);
302
// 39 CSTR_FNCOMPOSE склеить массив растров
303
typedef CSTR_rast (*FNCSTR_compose_Cell)(int32_t n, CSTR_rast *clist,
304
int32_t nIncline, Bool32 NeedDel);
305
CSTR_FUNC(CSTR_rast) CSTR_compose_Cell(int32_t n,CSTR_rast *clist, int32_t nIncline, Bool32 NeedDel);
306
// 40 CSTR_KILLIM убить образ в растре
307
typedef Bool32 (*FNCSTR_KillImage)(CSTR_rast rst);
310
308
CSTR_FUNC(Bool32) CSTR_KillImage(CSTR_rast rst);
311
309
// 41 CSTR_FNSAVE
312
typedef CSTR_rast (*FNCSTR_SaveRaster)(CSTR_rast c);
313
CSTR_FUNC(CSTR_rast) CSTR_SaveRaster(CSTR_rast c);
310
typedef CSTR_rast (*FNCSTR_SaveRaster)(CSTR_rast c);
311
CSTR_FUNC(CSTR_rast) CSTR_SaveRaster(CSTR_rast c);
314
312
// 42 CSTR_FNGETLIST
315
313
typedef CSTR_rast (*FNCSTR_GetComplist)(CSTR_rast rst);
316
314
CSTR_FUNC(CSTR_rast) CSTR_GetComplist(CSTR_rast rst);
317
315
// 43 CSTR_FNSETLIST
318
316
typedef Bool32 (*FNCSTR_SetComplist)(CSTR_rast rst, CSTR_rast complist);
319
317
CSTR_FUNC(Bool32) CSTR_SetComplist(CSTR_rast rst, CSTR_rast complist);
320
// 44 CSTR_FNGETCOLLECTIONUNI ���� ����������� ���������
321
typedef Bool32(*FNCSTR_GetCollectionUni) (CSTR_rast curr_raster, UniVersions *result_collect);
322
CSTR_FUNC(Bool32) CSTR_GetCollectionUni (CSTR_rast curr_raster, UniVersions *result_collect);
323
// 45 CSTR_FNSTORECOLLECTIONUNI ��������� ����������� ���������
324
typedef Bool32(*FNCSTR_StoreCollectionUni) (CSTR_rast curr_raster, UniVersions *result_collect);
325
CSTR_FUNC(Bool32) CSTR_StoreCollectionUni (CSTR_rast curr_raster, UniVersions *result_collect);
326
// 46 CSTR_FNGETCONTAINER ���� ����� ���������� ������
318
// 44 CSTR_FNGETCOLLECTIONUNI дать расширенную коллекцию
319
typedef Bool32(*FNCSTR_GetCollectionUni)(CSTR_rast curr_raster,
320
UniVersions *result_collect);
321
CSTR_FUNC(Bool32) CSTR_GetCollectionUni (CSTR_rast curr_raster, UniVersions *result_collect);
322
// 45 CSTR_FNSTORECOLLECTIONUNI запомнить расширенную коллекцию
323
typedef Bool32(*FNCSTR_StoreCollectionUni)(CSTR_rast curr_raster,
324
UniVersions *result_collect);
325
CSTR_FUNC(Bool32) CSTR_StoreCollectionUni (CSTR_rast curr_raster, UniVersions *result_collect);
326
// 46 CSTR_FNGETCONTAINER дать хэндл контейнера строки
327
327
typedef CCOM_handle (*FNCSTR_GetContainer)(CSTR_line ln);
328
328
CSTR_FUNC(CCOM_handle) CSTR_GetContainer(CSTR_line ln);
329
// 47 CSTR_FNSTORESCALE ��������� ��� ���������������
330
typedef Bool32 (*FNCSTR_StoreScale)(CSTR_rast curr_raster,Word8 scale);
331
CSTR_FUNC(Bool32) CSTR_StoreScale(CSTR_rast curr_raster,Word8 scale);
332
// 48 CSTR_GETLINEFIRST ���� ����� ������ ������ ������ ��������� � ������
333
typedef CSTR_line (*FNCSTR_GetLineFirst) ( Int32 fragment_no, Int32 version);
334
CSTR_FUNC(CSTR_line ) CSTR_GetLineFirst ( Int32 fragment_no, Int32 version);
335
// 49 CSTR_GETLINENEXT ���� ����� ��������� ������ ������ ��������� � ������
336
typedef CSTR_line (*FNCSTR_GetLineNext) (CSTR_line lin, Int32 fragment_no, Int32 version);
337
CSTR_FUNC(CSTR_line ) CSTR_GetLineNext (CSTR_line lin, Int32 fragment_no, Int32 version);
338
// 50 CSTR_FNCLEARLINE ������� ������ �� ������
339
typedef Bool32 (*FNCSTR_ClearLine)(CSTR_line lin,Int16 left, Int16 right);
340
CSTR_FUNC(Bool32) CSTR_ClearLine(CSTR_line lin,Int16 left, Int16 right);
341
// 51 CSTR_GETRASTERLINE ���� ����� ������ ������
342
typedef CSTR_line (*FNCSTR_GetRasterLine) (CSTR_rast curr_raster);
343
CSTR_FUNC(CSTR_line) CSTR_GetRasterLine (CSTR_rast curr_raster);
344
// 52 CSTR_SETDUP ��������� ����� ����������� ������
345
typedef Bool32 (*FNCSTR_SetDup)(CSTR_rast rus, CSTR_rast eng);
346
CSTR_FUNC(Bool32) CSTR_SetDup(CSTR_rast rus, CSTR_rast eng);
347
// 53 CSTR_SETDUPEND ��������� ����� ��������������� ����������� ������
348
typedef Bool32 (*FNCSTR_SetDupEnd)(CSTR_rast rus,CSTR_rast eng);
349
CSTR_FUNC(Bool32) CSTR_SetDupEnd(CSTR_rast rus,CSTR_rast eng);
350
// 54 CSTR_GETDUP ���� ����� ����������� ������
329
// 47 CSTR_FNSTORESCALE запомнить код масштабирования
330
typedef Bool32 (*FNCSTR_StoreScale)(CSTR_rast curr_raster, uchar scale);
331
CSTR_FUNC(Bool32) CSTR_StoreScale(CSTR_rast curr_raster,uchar scale);
332
// 48 CSTR_GETLINEFIRST дать хэндл первой строки данных фрагмента и версии
333
typedef CSTR_line (*FNCSTR_GetLineFirst)(int32_t fragment_no, int32_t version);
334
CSTR_FUNC(CSTR_line ) CSTR_GetLineFirst ( int32_t fragment_no, int32_t version);
335
// 49 CSTR_GETLINENEXT дать хэндл следующей строки данных фрагмента и версии
336
typedef CSTR_line (*FNCSTR_GetLineNext)(CSTR_line lin, int32_t fragment_no,
338
CSTR_FUNC(CSTR_line ) CSTR_GetLineNext (CSTR_line lin, int32_t fragment_no, int32_t version);
339
// 50 CSTR_FNCLEARLINE Удалить растры из строки
340
typedef Bool32 (*FNCSTR_ClearLine)(CSTR_line lin, int16_t left, int16_t right);
341
CSTR_FUNC(Bool32) CSTR_ClearLine(CSTR_line lin,int16_t left, int16_t right);
342
// 51 CSTR_GETRASTERLINE дать хэндл строки растра
343
typedef CSTR_line (*FNCSTR_GetRasterLine)(CSTR_rast curr_raster);
344
CSTR_FUNC(CSTR_line) CSTR_GetRasterLine (CSTR_rast curr_raster);
345
// 52 CSTR_SETDUP запомнить хэндл сопряжённого растра
346
typedef Bool32 (*FNCSTR_SetDup)(CSTR_rast rus, CSTR_rast eng);
347
CSTR_FUNC(Bool32) CSTR_SetDup(CSTR_rast rus, CSTR_rast eng);
348
// 53 CSTR_SETDUPEND запомнить хэндл дополнительного сопряжённого растра
349
typedef Bool32 (*FNCSTR_SetDupEnd)(CSTR_rast rus, CSTR_rast eng);
350
CSTR_FUNC(Bool32) CSTR_SetDupEnd(CSTR_rast rus,CSTR_rast eng);
351
// 54 CSTR_GETDUP дать хэндл сопряжённого растра
351
352
typedef CSTR_rast (*FNCSTR_GetDup)(CSTR_rast rus);
352
353
CSTR_FUNC(CSTR_rast) CSTR_GetDup(CSTR_rast rus);
353
// 55 CSTR_GETDUPEND ���� ����� ��������������� ����������� ������
354
// 55 CSTR_GETDUPEND дать хэндл дополнительного сопряжённого растра
354
355
typedef CSTR_rast (*FNCSTR_GetDupEnd)(CSTR_rast rus);
355
356
CSTR_FUNC(CSTR_rast) CSTR_GetDupEnd(CSTR_rast rus);
356
// 56 CSTR_FNPACK: ������� ����������� ����������
357
// 56 CSTR_FNPACK: удалить дублирующую информацию
357
358
typedef Bool32 (*FNCSTR_PackLine)(CSTR_line line);
358
359
CSTR_FUNC(Bool32) CSTR_PackLine(CSTR_line line);
359
// 57 CSTR_FNUNPACK: ������������ ����������� ����������
360
// 57 CSTR_FNUNPACK: восстановить дублирующую информацию
360
361
typedef Bool32 (*FNCSTR_UnpackLine)(CSTR_line line);
361
362
CSTR_FUNC(Bool32) CSTR_UnpackLine(CSTR_line line);
362
// 58 CSTR_FNSORTFRAGM ������������� �� ����������
363
typedef Bool32 (*FNCSTR_SortFragm)( Int32 version);
364
CSTR_FUNC(Bool32) CSTR_SortFragm ( Int32 version);
365
// 59 CSTR_FNFIRSTLINEFRAGM ������ �� ���������
366
typedef CSTR_line (*FNCSTR_FirstLineFragm)( Int32 fragm, Int32 version );
367
CSTR_FUNC(CSTR_line) CSTR_FirstLineFragm ( Int32 fragm, Int32 version );
368
// 60 CSTR_FNNEXTLINEFRAGM ��������� �� ���������
369
typedef CSTR_line (*FNCSTR_NextLineFragm)( CSTR_line start);
370
CSTR_FUNC(CSTR_line) CSTR_NextLineFragm ( CSTR_line start);
371
// 61 CSTR_FNSTORECOMPORIGINAL ��������� ���������� (��� ������������� ����������)
372
typedef Bool32 (*FNCSTR_StoreCompOriginal) (CSTR_rast curr_raster, CCOM_comp * comp, Bool32 raster_init);
373
CSTR_FUNC(Bool32) CSTR_StoreCompOriginal (CSTR_rast curr_raster, CCOM_comp * comp, Bool32 raster_init);
374
// 62 CSTR_FNGETMAXFRAGMENT ������������ ����� ���������
375
typedef Int32 (*FNCSTR_GetMaxFragment)(Int32 version);
376
CSTR_FUNC(Int32) CSTR_GetMaxFragment(Int32 version);
377
// 63 CSTR_SAVECONT ��������� ��������� �� �����
363
// 58 CSTR_FNSORTFRAGM отсортировать по фрагментам
364
typedef Bool32 (*FNCSTR_SortFragm)(int32_t version);
365
CSTR_FUNC(Bool32) CSTR_SortFragm ( int32_t version);
366
// 59 CSTR_FNFIRSTLINEFRAGM первая во фрагменте
367
typedef CSTR_line (*FNCSTR_FirstLineFragm)(int32_t fragm, int32_t version);
368
CSTR_FUNC(CSTR_line) CSTR_FirstLineFragm ( int32_t fragm, int32_t version );
369
// 60 CSTR_FNNEXTLINEFRAGM следующая по фрагменту
370
typedef CSTR_line (*FNCSTR_NextLineFragm)(CSTR_line start);
371
CSTR_FUNC(CSTR_line) CSTR_NextLineFragm ( CSTR_line start);
372
// 61 CSTR_FNSTORECOMPORIGINAL запомнить компоненту (для оригинального контейнера)
373
typedef Bool32 (*FNCSTR_StoreCompOriginal)(CSTR_rast curr_raster,
374
CCOM_comp * comp, Bool32 raster_init);
375
CSTR_FUNC(Bool32) CSTR_StoreCompOriginal (CSTR_rast curr_raster, CCOM_comp * comp, Bool32 raster_init);
376
// 62 CSTR_FNGETMAXFRAGMENT максимальный номер фрагмента
377
typedef int32_t (*FNCSTR_GetMaxFragment)(int32_t version);
378
CSTR_FUNC(int32_t) CSTR_GetMaxFragment(int32_t version);
379
// 63 CSTR_SAVECONT сохранить контейнер на диске
378
380
typedef Bool32 (*FNCSTR_SaveCont)(char *filename);
379
381
CSTR_FUNC(Bool32) CSTR_SaveCont(char *filename);
380
// 64 CSTR_RESTORECONT ������������ ��������� � �����
381
typedef Bool32 (*FNCSTR_RestoreCont)( char *filename);
382
// 64 CSTR_RESTORECONT воостановить контейнер с диска
383
typedef Bool32 (*FNCSTR_RestoreCont)(char *filename);
382
384
CSTR_FUNC(Bool32) CSTR_RestoreCont(char *filename);
383
// 65 CSTR_INSERTRASTERDOWN �������� ������ ����
384
typedef Bool32 (*FNCSTR_InsertRasterDown) (CSTR_rast start_raster, CSTR_rast stop_raster);
385
CSTR_FUNC(CSTR_rast) CSTR_InsertRasterDown (CSTR_rast start_raster, CSTR_rast stop_raster);
386
// 66 CSTR_COPYRASTER ����������� ���������� ������
387
typedef Bool32 (*FNCSTR_CopyRaster)(CSTR_rast trg,CSTR_rast src);
388
CSTR_FUNC(Bool32) CSTR_CopyRaster(CSTR_rast trg,CSTR_rast src);
389
// 67 CSTR_DELETELOOPS ������� �������� ����
390
typedef Bool32 (*FNCSTR_DeleteLoops) (CSTR_line lin);
391
CSTR_FUNC(Bool32) CSTR_DeleteLoops (CSTR_line lin);
392
// 68 CSTR_GETNEXTDOWN ������ �� ����� �����
393
typedef CSTR_rast (*FNCSTR_GetNextDown)(CSTR_rast rst);
394
CSTR_FUNC(CSTR_rast) CSTR_GetNextDown(CSTR_rast rst);
395
// 69 CSTR_GETPREVDOWN ������ �� ����� �����
396
typedef CSTR_rast (*FNCSTR_GetPrevDown)(CSTR_rast rst);
397
CSTR_FUNC(CSTR_rast) CSTR_GetPrevDown(CSTR_rast rst);
398
// 70 CSTR_GETNEXTUP ������ �� ����� �����
399
typedef CSTR_rast (*FNCSTR_GetNextUp)(CSTR_rast rst);
400
CSTR_FUNC(CSTR_rast) CSTR_GetNextUp(CSTR_rast rst);
401
// 71 CSTR_GETPREVUP ������ �� ����� �����
402
typedef CSTR_rast (*FNCSTR_GetPrevUp)(CSTR_rast rst);
403
CSTR_FUNC(CSTR_rast) CSTR_GetPrevUp(CSTR_rast rst);
404
// 72 CSTR_GETLENGTH ����� ������� ���������� ������
405
typedef Int32 (*FNCSTR_GetLength) (CSTR_line lin);
406
CSTR_FUNC(Int32) CSTR_GetLength (CSTR_line lin);
407
// 73 CSTR_FNTOTXT_COORD �������� ��������� ����� ������ � ������������
408
typedef Bool32 (*FNCSTR_LineToTxt_Coord)(CSTR_line lin, char *txt, Int32 len);
409
CSTR_FUNC(Bool32) CSTR_LineToTxt_Coord (CSTR_line lin, char *txt, Int32 len);
385
// 65 CSTR_INSERTRASTERDOWN вставить ссылку вниз
386
typedef Bool32 (*FNCSTR_InsertRasterDown)(CSTR_rast start_raster,
387
CSTR_rast stop_raster);
388
CSTR_FUNC(CSTR_rast) CSTR_InsertRasterDown (CSTR_rast start_raster, CSTR_rast stop_raster);
389
// 66 CSTR_COPYRASTER скопировать содержимое растра
390
typedef Bool32 (*FNCSTR_CopyRaster)(CSTR_rast trg, CSTR_rast src);
391
CSTR_FUNC(Bool32) CSTR_CopyRaster(CSTR_rast trg,CSTR_rast src);
392
// 67 CSTR_DELETELOOPS удалить обходные пути
393
typedef Bool32 (*FNCSTR_DeleteLoops)(CSTR_line lin);
394
CSTR_FUNC(Bool32) CSTR_DeleteLoops (CSTR_line lin);
395
// 68 CSTR_GETNEXTDOWN ссылка на петлю вперёд
396
typedef CSTR_rast (*FNCSTR_GetNextDown)(CSTR_rast rst);
397
CSTR_FUNC(CSTR_rast) CSTR_GetNextDown(CSTR_rast rst);
398
// 69 CSTR_GETPREVDOWN ссылка на петлю назад
399
typedef CSTR_rast (*FNCSTR_GetPrevDown)(CSTR_rast rst);
400
CSTR_FUNC(CSTR_rast) CSTR_GetPrevDown(CSTR_rast rst);
401
// 70 CSTR_GETNEXTUP ссылка из петли вперёд
402
typedef CSTR_rast (*FNCSTR_GetNextUp)(CSTR_rast rst);
403
CSTR_FUNC(CSTR_rast) CSTR_GetNextUp(CSTR_rast rst);
404
// 71 CSTR_GETPREVUP ссылка из петли назад
405
typedef CSTR_rast (*FNCSTR_GetPrevUp)(CSTR_rast rst);
406
CSTR_FUNC(CSTR_rast) CSTR_GetPrevUp(CSTR_rast rst);
407
// 72 CSTR_GETLENGTH длина нужного текстового буфера
408
typedef int32_t (*FNCSTR_GetLength)(CSTR_line lin);
409
CSTR_FUNC(int32_t) CSTR_GetLength (CSTR_line lin);
410
// 73 CSTR_FNTOTXT_COORD получить текстовый обрах строки с координатами
411
typedef Bool32 (*FNCSTR_LineToTxt_Coord)(CSTR_line lin, char *txt, int32_t len);
412
CSTR_FUNC(Bool32) CSTR_LineToTxt_Coord (CSTR_line lin, char *txt, int32_t len);