summaryrefslogtreecommitdiff
path: root/core/fpdfdoc/cpvt_wordinfo.cpp
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-07-11 14:43:40 -0700
committerCommit bot <commit-bot@chromium.org>2016-07-11 14:43:41 -0700
commit5a6c1398d0e559fb6a048cb0dca46ba9f9309a77 (patch)
tree40193eaf374d0f9bf2ec2f257871279b0f36efb8 /core/fpdfdoc/cpvt_wordinfo.cpp
parentac14258c429141653f73ca5c1b64ad259ac15804 (diff)
downloadpdfium-5a6c1398d0e559fb6a048cb0dca46ba9f9309a77.tar.xz
Use smart pointers for class owned member variables
Replace raw member variables to smart pointer type to better maintain the ownership and to ease the management. BUG=pdfium:518 Review-Url: https://codereview.chromium.org/2136683002
Diffstat (limited to 'core/fpdfdoc/cpvt_wordinfo.cpp')
-rw-r--r--core/fpdfdoc/cpvt_wordinfo.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/core/fpdfdoc/cpvt_wordinfo.cpp b/core/fpdfdoc/cpvt_wordinfo.cpp
new file mode 100644
index 0000000000..2303f30032
--- /dev/null
+++ b/core/fpdfdoc/cpvt_wordinfo.cpp
@@ -0,0 +1,54 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "core/fpdfdoc/cpvt_wordinfo.h"
+
+CPVT_WordInfo::CPVT_WordInfo()
+ : Word(0),
+ nCharset(FXFONT_ANSI_CHARSET),
+ fWordX(0.0f),
+ fWordY(0.0f),
+ fWordTail(0.0f),
+ nFontIndex(-1) {}
+
+CPVT_WordInfo::CPVT_WordInfo(uint16_t word,
+ int32_t charset,
+ int32_t fontIndex,
+ CPVT_WordProps* pProps)
+ : Word(word),
+ nCharset(charset),
+ fWordX(0.0f),
+ fWordY(0.0f),
+ fWordTail(0.0f),
+ nFontIndex(fontIndex) {}
+
+CPVT_WordInfo::CPVT_WordInfo(const CPVT_WordInfo& word)
+ : Word(0),
+ nCharset(FXFONT_ANSI_CHARSET),
+ fWordX(0.0f),
+ fWordY(0.0f),
+ fWordTail(0.0f),
+ nFontIndex(-1) {
+ operator=(word);
+}
+
+CPVT_WordInfo::~CPVT_WordInfo() {}
+
+void CPVT_WordInfo::operator=(const CPVT_WordInfo& word) {
+ if (this == &word)
+ return;
+
+ Word = word.Word;
+ nCharset = word.nCharset;
+ nFontIndex = word.nFontIndex;
+ fWordX = word.fWordX;
+ fWordY = word.fWordY;
+ fWordTail = word.fWordTail;
+ if (word.pWordProps)
+ pWordProps.reset(new CPVT_WordProps(*word.pWordProps));
+ else
+ pWordProps.reset();
+}