| // 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 |
| |
| #ifndef CORE_FPDFDOC_CPVT_WORDINFO_H_ |
| #define CORE_FPDFDOC_CPVT_WORDINFO_H_ |
| |
| #include "core/fpdfdoc/include/cpvt_wordprops.h" |
| #include "core/fxcrt/include/fx_system.h" |
| |
| struct CPVT_WordInfo { |
| CPVT_WordInfo() |
| : Word(0), |
| nCharset(0), |
| fWordX(0.0f), |
| fWordY(0.0f), |
| fWordTail(0.0f), |
| nFontIndex(-1), |
| pWordProps(nullptr) {} |
| |
| 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), |
| pWordProps(pProps) {} |
| |
| CPVT_WordInfo(const CPVT_WordInfo& word) |
| : Word(0), |
| nCharset(0), |
| fWordX(0.0f), |
| fWordY(0.0f), |
| fWordTail(0.0f), |
| nFontIndex(-1), |
| pWordProps(nullptr) { |
| operator=(word); |
| } |
| |
| ~CPVT_WordInfo() { delete pWordProps; } |
| |
| void operator=(const CPVT_WordInfo& word) { |
| if (this == &word) |
| return; |
| |
| Word = word.Word; |
| nCharset = word.nCharset; |
| nFontIndex = word.nFontIndex; |
| if (word.pWordProps) { |
| if (pWordProps) |
| *pWordProps = *word.pWordProps; |
| else |
| pWordProps = new CPVT_WordProps(*word.pWordProps); |
| } |
| } |
| |
| uint16_t Word; |
| int32_t nCharset; |
| FX_FLOAT fWordX; |
| FX_FLOAT fWordY; |
| FX_FLOAT fWordTail; |
| int32_t nFontIndex; |
| CPVT_WordProps* pWordProps; |
| }; |
| |
| #endif // CORE_FPDFDOC_CPVT_WORDINFO_H_ |