blob: ef7907797ea68c180e96ba17010a68e2b027168f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
// Copyright 2016 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#ifndef CORE_FPDFDOC_INCLUDE_CPVT_WORDPLACE_H_
#define CORE_FPDFDOC_INCLUDE_CPVT_WORDPLACE_H_
#include "core/fxcrt/include/fx_system.h"
struct CPVT_WordPlace {
CPVT_WordPlace() : nSecIndex(-1), nLineIndex(-1), nWordIndex(-1) {}
CPVT_WordPlace(int32_t other_nSecIndex,
int32_t other_nLineIndex,
int32_t other_nWordIndex) {
nSecIndex = other_nSecIndex;
nLineIndex = other_nLineIndex;
nWordIndex = other_nWordIndex;
}
void Default() { nSecIndex = nLineIndex = nWordIndex = -1; }
bool operator==(const CPVT_WordPlace& wp) const {
return wp.nSecIndex == nSecIndex && wp.nLineIndex == nLineIndex &&
wp.nWordIndex == nWordIndex;
}
FX_BOOL operator!=(const CPVT_WordPlace& wp) const { return !(*this == wp); }
inline int32_t WordCmp(const CPVT_WordPlace& wp) const {
if (nSecIndex > wp.nSecIndex)
return 1;
if (nSecIndex < wp.nSecIndex)
return -1;
if (nLineIndex > wp.nLineIndex)
return 1;
if (nLineIndex < wp.nLineIndex)
return -1;
if (nWordIndex > wp.nWordIndex)
return 1;
if (nWordIndex < wp.nWordIndex)
return -1;
return 0;
}
inline int32_t LineCmp(const CPVT_WordPlace& wp) const {
if (nSecIndex > wp.nSecIndex)
return 1;
if (nSecIndex < wp.nSecIndex)
return -1;
if (nLineIndex > wp.nLineIndex)
return 1;
if (nLineIndex < wp.nLineIndex)
return -1;
return 0;
}
inline int32_t SecCmp(const CPVT_WordPlace& wp) const {
if (nSecIndex > wp.nSecIndex)
return 1;
if (nSecIndex < wp.nSecIndex)
return -1;
return 0;
}
int32_t nSecIndex;
int32_t nLineIndex;
int32_t nWordIndex;
};
#endif // CORE_FPDFDOC_INCLUDE_CPVT_WORDPLACE_H_
|