OLD | NEW |
| (Empty) |
1 // Copyright 2014 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 #include "core/include/fxcrt/fx_basic.h" | |
8 #include "xfa/src/fxbarcode/utils.h" | |
9 | |
10 FX_BOOL BC_FX_ByteString_Replace(CFX_ByteString& dst, | |
11 FX_DWORD first, | |
12 FX_DWORD last, | |
13 int32_t count, | |
14 FX_CHAR c) { | |
15 if (first > last || count <= 0) { | |
16 return FALSE; | |
17 } | |
18 dst.Delete(first, last - first); | |
19 for (int32_t i = 0; i < count; i++) { | |
20 dst.Insert(0, c); | |
21 } | |
22 return TRUE; | |
23 } | |
24 void BC_FX_ByteString_Append(CFX_ByteString& dst, int32_t count, FX_CHAR c) { | |
25 for (int32_t i = 0; i < count; i++) { | |
26 dst += c; | |
27 } | |
28 } | |
29 void BC_FX_ByteString_Append(CFX_ByteString& dst, const CFX_ByteArray& ba) { | |
30 for (int32_t i = 0; i < ba.GetSize(); i++) { | |
31 dst += ba[i]; | |
32 } | |
33 } | |
34 void BC_FX_PtrArray_Sort(CFX_PtrArray& src, BC_PtrArrayCompareCallback fun) { | |
35 int32_t nLength = src.GetSize(); | |
36 FX_BOOL changed = true; | |
37 do { | |
38 changed = false; | |
39 for (int32_t i = 0; i < nLength - 1; i++) { | |
40 if (fun(src[i + 1], src[i])) { | |
41 void* temp = src[i]; | |
42 src.SetAt(i, src[i + 1]); | |
43 src.SetAt(i + 1, temp); | |
44 changed = true; | |
45 } | |
46 } | |
47 } while (changed); | |
48 } | |
OLD | NEW |