~ubuntu-branches/ubuntu/precise/cuneiform/precise

« back to all changes in this revision

Viewing changes to cuneiform_src/Kern/cimage/sources/main/ctimaskline.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jakub Wilk, c-assert.diff, slovenian-slv.diff
  • Date: 2011-01-26 21:53:07 UTC
  • mfrom: (5.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20110126215307-62x61mcesr607qb7
Tags: 1.0.0+dfsg-2
* Upload to unstable.
* Explicitly build-depend on pkg-config. Thanks to Stefano Rivera for the
  bug report.
* Add Vcs-* fields.
* Use the standard C assert() macro, rather than custom Cuneiform one.
  [c-assert.diff]
* Pass CFLAGS, CXXFLAGS and LDFLAGS (get from dpkg-buildflags) to cmake
  (closes: #608345). Thanks to Sami Liedes for the bug report.
  + Build depend on dpkg-dev (>= 1.15.7).
* Pass --parallel to dh.
  + Bump debhelper minimum version to 7.4.10.
* Update debian/copyright to the latest DEP-5 version.
* Bump year in debian/copyright.
* Explicitly link to GraphicsMagick (rather than via the ImageMagick
  compatibility layer).
* Don't ship /usr/lib/cuneiform/*.so symlinks. These libraries are
  considered private, at least until #598616 is fixed.
* Rename some private variables in debian/rules to make them lowercase.
* Update patch headers.
* Provide proper ‘build-arch’ and ‘build-indep’ targets in debian/rules.
* Document input format in the manual page (closes: #572061). Thanks to
  Janusz S. Bień for the bug report.
* Use ‘slv’ (rather than ‘slo’) as language code for Slovenian.
  [slovenian-slv.diff]
* Fix package description: Slovenian is supported, Slovak is not.
* Improve documentation of the language (-l) option (closes: #602512).
  Thanks to Jari Aalto for the bug report.
* Install reasons file for vrms.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
Copyright (c) 1993-2008, Cognitive Technologies
3
3
All rights reserved.
4
4
 
5
 
����������� ��������� ��������������� � ������������� ��� � ���� ��������� ����,
6
 
��� � � �������� �����, � ����������� ��� ���, ��� ���������� ��������� �������:
7
 
 
8
 
      * ��� ��������� ��������������� ��������� ���� ������ ���������� ���������
9
 
        ���� ����������� �� ��������� �����, ���� ������ ������� � �����������
10
 
        ����� �� ��������.
11
 
      * ��� ��������� ��������������� ��������� ���� � ������������ �/��� �
12
 
        ������ ����������, ������������ ��� ���������������, ������ �����������
13
 
        ��������� ���� ���������� �� ��������� �����, ���� ������ ������� �
14
 
        ����������� ����� �� ��������.
15
 
      * �� �������� Cognitive Technologies, �� ����� �� ����������� �� �����
16
 
        ���� ������������ � �������� �������� ��������� �/��� �����������
17
 
        ���������, ���������� �� ���� ��, ��� ���������������� �����������
18
 
        ����������.
19
 
 
20
 
��� ��������� ������������� ����������� ��������� ���� �/��� ������� ������ "���
21
 
��� ����" ��� ������-���� ���� ��������, ���������� ���� ��� ���������������,
22
 
������� �������� ������������ �������� � ����������� ��� ���������� ����, �� ��
23
 
������������� ���. �� �������� ��������� ���� � �� ���� ������ ����, �������
24
 
����� �������� �/��� �������� �������������� ���������, �� � ���� ������ ��
25
 
��Ѩ� ���������������, ������� ����� �����, ���������, ����������� ���
26
 
������������� ������, ��������� � �������������� ��� ���������� ����������
27
 
������������� ������������� ��������� (������� ������ ������, ��� ������,
28
 
������� ���������, ��� ������ �/��� ������ �������, ���������� ��-�� ��������
29
 
������� ��� �/��� ������ ��������� �������� ��������� � ������� �����������,
30
 
�� �� ������������� ����� ��������), �� �� ������������� ���, ���� ���� �����
31
 
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
 
5
Разрешается повторное распространение и использование как в виде исходного кода,
 
6
так и в двоичной форме, с изменениями или без, при соблюдении следующих условий:
 
7
 
 
8
      * При повторном распространении исходного кода должны оставаться указанное
 
9
        выше уведомление об авторском праве, этот список условий и последующий
 
10
        отказ от гарантий.
 
11
      * При повторном распространении двоичного кода в документации и/или в
 
12
        других материалах, поставляемых при распространении, должны сохраняться
 
13
        указанная выше информация об авторском праве, этот список условий и
 
14
        последующий отказ от гарантий.
 
15
      * Ни название Cognitive Technologies, ни имена ее сотрудников не могут
 
16
        быть использованы в качестве средства поддержки и/или продвижения
 
17
        продуктов, основанных на этом ПО, без предварительного письменного
 
18
        разрешения.
 
19
 
 
20
ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ ЛИЦАМИ "КАК
 
21
ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ,
 
22
ВКЛЮЧАЯ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, НО НЕ
 
23
ОГРАНИЧИВАЯСЬ ИМИ. НИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ
 
24
МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, НИ В КОЕМ СЛУЧАЕ НЕ
 
25
НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ
 
26
ПОСЛЕДОВАВШИЕ УБЫТКИ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ИЛИ ПОНЕСЕННЫЕ ВСЛЕДСТВИЕ
 
27
НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ ПОТЕРИ ДАННЫХ, ИЛИ ДАННЫЕ,
 
28
СТАВШИЕ НЕГОДНЫМИ, ИЛИ УБЫТКИ И/ИЛИ ПОТЕРИ ДОХОДОВ, ПОНЕСЕННЫЕ ИЗ-ЗА ДЕЙСТВИЙ
 
29
ТРЕТЬИХ ЛИЦ И/ИЛИ ОТКАЗА ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ,
 
30
НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМИ СЛУЧАЯМИ), НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ДАЖЕ ЕСЛИ ТАКОЙ
 
31
ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ И ПОТЕРЬ.
32
32
 
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:
70
70
                          mpNext(NULL),
71
71
                          mwLine(-1){}
72
72
 
73
 
CTIMaskLine::CTIMaskLine(Word32 Lenght)
 
73
CTIMaskLine::CTIMaskLine(uint32_t Lenght)
74
74
            : mwLenght(Lenght),
75
75
                          mwSegments(0),
76
76
                          mpNext(NULL),
77
77
                          mwLine(-1){}
78
78
 
79
 
CTIMaskLine::CTIMaskLine(Word32 Lenght, PCTIMaskLineSegment pSegm)
 
79
CTIMaskLine::CTIMaskLine(uint32_t Lenght, PCTIMaskLineSegment pSegm)
80
80
            : mwLenght(Lenght),
81
81
                          //mcFirst(pSegm),
82
82
                          mwSegments(0),
86
86
        AddSegment( pSegm );
87
87
}
88
88
 
89
 
CTIMaskLine::CTIMaskLine(Word32 Lenght, Word32 nLine, PCTIMaskLineSegment pSegm)
 
89
CTIMaskLine::CTIMaskLine(uint32_t Lenght, uint32_t nLine, PCTIMaskLineSegment pSegm)
90
90
            : mwLenght(Lenght),
91
91
                          //mcFirst(pSegm),
92
92
                          mwSegments(0),
96
96
        AddSegment ( pSegm );
97
97
}
98
98
 
99
 
CTIMaskLine::CTIMaskLine(Word32 Lenght, Word32 nLine, PCTIMaskLineSegment pSegm, PCTIMaskLine pcNextLine)
 
99
CTIMaskLine::CTIMaskLine(uint32_t Lenght, uint32_t nLine, PCTIMaskLineSegment pSegm, PCTIMaskLine pcNextLine)
100
100
            : mwLenght(Lenght),
101
101
                          //mcFirst(pSegm),
102
102
                          mwSegments(0),
190
190
                        {
191
191
                                switch ( pS->IsIntersectWith(pSegm) )
192
192
                                {
193
 
                                // pSegm ����� pS
 
193
                                // pSegm равен pS
194
194
                                case CTIMLSEGMINTERSECTEQUAL:
195
195
                                        pPS->SetNext(pS->GetNext());
196
196
                                        delete pS;
198
198
                                        mwSegments--;
199
199
                                        pS = pPS->GetNext();
200
200
                                        break;
201
 
                                // pSegm ���������� pS
 
201
                                // pSegm перекывает pS
202
202
                                case CTIMLSEGMINTERSECTOVER:
203
203
                                        pPS->SetNext(pS->GetNext());
204
204
                                        delete pS;
205
205
                                        mwSegments--;
206
206
                                        pS = pPS->GetNext();
207
207
                                        break;
208
 
                                // pSegm ���������� ������ ����� pS
 
208
                                // pSegm перекывает правую часть pS
209
209
                                case CTIMLSEGMINTERSECTRIGHT:
210
210
                                        pS->CutLeftTo(pSegm);
211
211
                                        pPS = pPS->GetNext();
212
212
                                        pS = pPS->GetNext();
213
213
                                        break;
214
 
                                // pSegm ���������� ����� ����� pS
 
214
                                // pSegm перекывает левую часть pS
215
215
                                case CTIMLSEGMINTERSECTLEFT:
216
216
                                        pS->CutRightTo(pSegm);
217
217
                                        pPS = pPS->GetNext();
218
218
                                        pS = pPS->GetNext();
219
219
                                        break;
220
 
                                // pSegm ����� ������ pS
 
220
                                // pSegm лежит внутри pS
221
221
                                case CTIMLSEGMINTERSECTIN:
222
222
                                        pS->SetNext(new CTIMaskLineSegment(pS));
223
223
                                        pS->CutLeftTo(pSegm);
249
249
Bool32 CTIMaskLine::GetLeftIntersection(PCTIMaskLineSegment pcSegm)
250
250
{
251
251
        PCTIMaskLineSegment pL = mcFirst.GetNext();
252
 
        Word32  wItype;
 
252
        uint32_t  wItype;
253
253
        Bool32  bInt = FALSE;
254
254
 
255
255
        while ( pL )