// 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/cline.h" CLine::CLine() {} CLine::CLine(const CPVT_LineInfo& lineinfo) : m_LineInfo(lineinfo) {} CLine::~CLine() {} CPVT_WordPlace CLine::GetBeginWordPlace() const { return CPVT_WordPlace(LinePlace.nSecIndex, LinePlace.nLineIndex, -1); } CPVT_WordPlace CLine::GetEndWordPlace() const { return CPVT_WordPlace(LinePlace.nSecIndex, LinePlace.nLineIndex, m_LineInfo.nEndWordIndex); } CPVT_WordPlace CLine::GetPrevWordPlace(const CPVT_WordPlace& place) const { if (place.nWordIndex > m_LineInfo.nEndWordIndex) { return CPVT_WordPlace(place.nSecIndex, place.nLineIndex, m_LineInfo.nEndWordIndex); } return CPVT_WordPlace(place.nSecIndex, place.nLineIndex, place.nWordIndex - 1); } CPVT_WordPlace CLine::GetNextWordPlace(const CPVT_WordPlace& place) const { if (place.nWordIndex < m_LineInfo.nBeginWordIndex) { return CPVT_WordPlace(place.nSecIndex, place.nLineIndex, m_LineInfo.nBeginWordIndex); } return CPVT_WordPlace(place.nSecIndex, place.nLineIndex, place.nWordIndex + 1); }