blob: e466ae5006bdf3d2ee5826c916a6860138878311 [file] [log] [blame]
// 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_SECTIONINFO_H_
#define CORE_FPDFDOC_CPVT_SECTIONINFO_H_
#include "core/fpdfdoc/cpvt_floatrect.h"
#include "core/fpdfdoc/include/cpvt_secprops.h"
#include "core/fpdfdoc/include/cpvt_wordprops.h"
struct CPVT_SectionInfo {
CPVT_SectionInfo()
: rcSection(), nTotalLine(0), pSecProps(nullptr), pWordProps(nullptr) {}
~CPVT_SectionInfo() {
delete pSecProps;
delete pWordProps;
}
CPVT_SectionInfo(const CPVT_SectionInfo& other)
: rcSection(), nTotalLine(0), pSecProps(nullptr), pWordProps(nullptr) {
operator=(other);
}
void operator=(const CPVT_SectionInfo& other) {
if (this == &other)
return;
rcSection = other.rcSection;
nTotalLine = other.nTotalLine;
if (other.pSecProps) {
if (pSecProps)
*pSecProps = *other.pSecProps;
else
pSecProps = new CPVT_SecProps(*other.pSecProps);
}
if (other.pWordProps) {
if (pWordProps)
*pWordProps = *other.pWordProps;
else
pWordProps = new CPVT_WordProps(*other.pWordProps);
}
}
CPVT_FloatRect rcSection;
int32_t nTotalLine;
CPVT_SecProps* pSecProps;
CPVT_WordProps* pWordProps;
};
#endif // CORE_FPDFDOC_CPVT_SECTIONINFO_H_