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