| // Copyright 2017 The PDFium Authors |
| // 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/fgas/layout/cfgas_breakline.h" |
| |
| #include "core/fxcrt/stl_util.h" |
| #include "third_party/base/check.h" |
| |
| CFGAS_BreakLine::CFGAS_BreakLine() = default; |
| |
| CFGAS_BreakLine::~CFGAS_BreakLine() = default; |
| |
| CFGAS_Char* CFGAS_BreakLine::LastChar() { |
| if (m_LineChars.empty()) |
| return nullptr; |
| |
| return &m_LineChars.back(); |
| } |
| |
| int32_t CFGAS_BreakLine::GetLineEnd() const { |
| return m_iStart + m_iWidth; |
| } |
| |
| void CFGAS_BreakLine::Clear() { |
| m_LineChars.clear(); |
| m_LinePieces.clear(); |
| m_iWidth = 0; |
| m_iArabicChars = 0; |
| } |
| |
| void CFGAS_BreakLine::IncrementArabicCharCount() { |
| ++m_iArabicChars; |
| } |
| |
| void CFGAS_BreakLine::DecrementArabicCharCount() { |
| DCHECK(m_iArabicChars > 0); |
| --m_iArabicChars; |
| } |