1// Copyright 2016 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#include "core/fpdfdoc/cline.h"
8
9CLine::CLine() {}
10
11CLine::~CLine() {}
12
13CPVT_WordPlace CLine::GetBeginWordPlace() const {
14  return CPVT_WordPlace(LinePlace.nSecIndex, LinePlace.nLineIndex, -1);
15}
16
17CPVT_WordPlace CLine::GetEndWordPlace() const {
18  return CPVT_WordPlace(LinePlace.nSecIndex, LinePlace.nLineIndex,
19                        m_LineInfo.nEndWordIndex);
20}
21
22CPVT_WordPlace CLine::GetPrevWordPlace(const CPVT_WordPlace& place) const {
23  if (place.nWordIndex > m_LineInfo.nEndWordIndex) {
24    return CPVT_WordPlace(place.nSecIndex, place.nLineIndex,
25                          m_LineInfo.nEndWordIndex);
26  }
27  return CPVT_WordPlace(place.nSecIndex, place.nLineIndex,
28                        place.nWordIndex - 1);
29}
30
31CPVT_WordPlace CLine::GetNextWordPlace(const CPVT_WordPlace& place) const {
32  if (place.nWordIndex < m_LineInfo.nBeginWordIndex) {
33    return CPVT_WordPlace(place.nSecIndex, place.nLineIndex,
34                          m_LineInfo.nBeginWordIndex);
35  }
36  return CPVT_WordPlace(place.nSecIndex, place.nLineIndex,
37                        place.nWordIndex + 1);
38}
39