• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "core/fpdfdoc/cpvt_wordinfo.h"
8 #include "third_party/base/ptr_util.h"
9 
CPVT_WordInfo()10 CPVT_WordInfo::CPVT_WordInfo()
11     : Word(0),
12       nCharset(FXFONT_ANSI_CHARSET),
13       fWordX(0.0f),
14       fWordY(0.0f),
15       fWordTail(0.0f),
16       nFontIndex(-1) {}
17 
CPVT_WordInfo(uint16_t word,int32_t charset,int32_t fontIndex,CPVT_WordProps * pProps)18 CPVT_WordInfo::CPVT_WordInfo(uint16_t word,
19                              int32_t charset,
20                              int32_t fontIndex,
21                              CPVT_WordProps* pProps)
22     : Word(word),
23       nCharset(charset),
24       fWordX(0.0f),
25       fWordY(0.0f),
26       fWordTail(0.0f),
27       nFontIndex(fontIndex) {}
28 
CPVT_WordInfo(const CPVT_WordInfo & word)29 CPVT_WordInfo::CPVT_WordInfo(const CPVT_WordInfo& word)
30     : Word(0),
31       nCharset(FXFONT_ANSI_CHARSET),
32       fWordX(0.0f),
33       fWordY(0.0f),
34       fWordTail(0.0f),
35       nFontIndex(-1) {
36   operator=(word);
37 }
38 
~CPVT_WordInfo()39 CPVT_WordInfo::~CPVT_WordInfo() {}
40 
operator =(const CPVT_WordInfo & word)41 void CPVT_WordInfo::operator=(const CPVT_WordInfo& word) {
42   if (this == &word)
43     return;
44 
45   Word = word.Word;
46   nCharset = word.nCharset;
47   nFontIndex = word.nFontIndex;
48   fWordX = word.fWordX;
49   fWordY = word.fWordY;
50   fWordTail = word.fWordTail;
51   if (word.pWordProps)
52     pWordProps = pdfium::MakeUnique<CPVT_WordProps>(*word.pWordProps);
53   else
54     pWordProps.reset();
55 }
56