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