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