diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-01-10 16:37:32 -0500 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-01-10 21:52:30 +0000 |
commit | 1f5d4988dcdac125e3e822d37c9086a5e4a3e224 (patch) | |
tree | 41fe47f62e1a76117022ed3774040608f1f00c7b /xfa/fxfa/app/cxfa_textuserdata.cpp | |
parent | 0e6438e40a95702edb8327286c8253aa269c9826 (diff) | |
download | pdfium-1f5d4988dcdac125e3e822d37c9086a5e4a3e224.tar.xz |
Split xfa_textlayout apart.
This CL splits the xfa_texlayout.{cpp|h} files into individual class files.
Minor reformatting was done in the new clasess.
Change-Id: Id79ffcb8dca3fcf287a2e6dec78fd2b1f990a542
Reviewed-on: https://pdfium-review.googlesource.com/2162
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'xfa/fxfa/app/cxfa_textuserdata.cpp')
-rw-r--r-- | xfa/fxfa/app/cxfa_textuserdata.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/xfa/fxfa/app/cxfa_textuserdata.cpp b/xfa/fxfa/app/cxfa_textuserdata.cpp new file mode 100644 index 0000000000..209e4f2c21 --- /dev/null +++ b/xfa/fxfa/app/cxfa_textuserdata.cpp @@ -0,0 +1,51 @@ +// Copyright 2017 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 "xfa/fxfa/app/cxfa_textuserdata.h" + +#include "xfa/fde/css/fde_css.h" +#include "xfa/fxfa/app/cxfa_linkuserdata.h" + +CXFA_TextUserData::CXFA_TextUserData(IFX_MemoryAllocator* pAllocator, + IFDE_CSSComputedStyle* pStyle) + : m_pStyle(pStyle), + m_pLinkData(nullptr), + m_pAllocator(pAllocator), + m_dwRefCount(0) { + ASSERT(m_pAllocator); + if (m_pStyle) + m_pStyle->Retain(); +} + +CXFA_TextUserData::CXFA_TextUserData(IFX_MemoryAllocator* pAllocator, + IFDE_CSSComputedStyle* pStyle, + CXFA_LinkUserData* pLinkData) + : m_pStyle(pStyle), + m_pLinkData(pLinkData), + m_pAllocator(pAllocator), + m_dwRefCount(0) { + ASSERT(m_pAllocator); + if (m_pStyle) + m_pStyle->Retain(); +} + +CXFA_TextUserData::~CXFA_TextUserData() { + if (m_pStyle) + m_pStyle->Release(); + if (m_pLinkData) + m_pLinkData->Release(); +} + +uint32_t CXFA_TextUserData::Retain() { + return ++m_dwRefCount; +} + +uint32_t CXFA_TextUserData::Release() { + uint32_t dwRefCount = --m_dwRefCount; + if (dwRefCount == 0) + FXTARGET_DeleteWith(CXFA_TextUserData, m_pAllocator, this); + return dwRefCount; +} |