14d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Copyright 2016 PDFium Authors. All rights reserved.
24d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be
34d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// found in the LICENSE file.
44d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann//
54d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
64d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
74d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "core/fpdfdoc/cpvt_wordinfo.h"
84d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "third_party/base/ptr_util.h"
94d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCPVT_WordInfo::CPVT_WordInfo()
114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    : Word(0),
124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      nCharset(FXFONT_ANSI_CHARSET),
134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordX(0.0f),
144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordY(0.0f),
154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordTail(0.0f),
164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      nFontIndex(-1) {}
174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCPVT_WordInfo::CPVT_WordInfo(uint16_t word,
194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             int32_t charset,
204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             int32_t fontIndex,
214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                             CPVT_WordProps* pProps)
224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    : Word(word),
234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      nCharset(charset),
244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordX(0.0f),
254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordY(0.0f),
264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordTail(0.0f),
274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      nFontIndex(fontIndex) {}
284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCPVT_WordInfo::CPVT_WordInfo(const CPVT_WordInfo& word)
304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    : Word(0),
314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      nCharset(FXFONT_ANSI_CHARSET),
324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordX(0.0f),
334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordY(0.0f),
344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      fWordTail(0.0f),
354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      nFontIndex(-1) {
364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  operator=(word);
374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}
384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCPVT_WordInfo::~CPVT_WordInfo() {}
404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CPVT_WordInfo::operator=(const CPVT_WordInfo& word) {
424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  if (this == &word)
434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    return;
444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  Word = word.Word;
464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  nCharset = word.nCharset;
474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  nFontIndex = word.nFontIndex;
484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  fWordX = word.fWordX;
494d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  fWordY = word.fWordY;
504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  fWordTail = word.fWordTail;
514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  if (word.pWordProps)
524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    pWordProps = pdfium::MakeUnique<CPVT_WordProps>(*word.pWordProps);
534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  else
544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    pWordProps.reset();
554d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}
56