xref: /aosp_15_r20/external/pdfium/core/fxcrt/css/cfx_cssoutputtextbuf.cpp (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1 // Copyright 2017 The PDFium Authors
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/fxcrt/css/cfx_cssoutputtextbuf.h"
8 
CFX_CSSOutputTextBuf()9 CFX_CSSOutputTextBuf::CFX_CSSOutputTextBuf() {
10   m_Buffer.reserve(32);
11 }
12 
13 CFX_CSSOutputTextBuf::~CFX_CSSOutputTextBuf() = default;
14 
AppendCharIfNotLeadingBlank(wchar_t wch)15 void CFX_CSSOutputTextBuf::AppendCharIfNotLeadingBlank(wchar_t wch) {
16   if (m_Buffer.empty() && wch <= ' ')
17     return;
18 
19   m_Buffer.push_back(wch);
20 }
21 
GetTrailingBlankTrimmedString() const22 WideStringView CFX_CSSOutputTextBuf::GetTrailingBlankTrimmedString() const {
23   WideStringView result(m_Buffer);
24   while (!result.IsEmpty() && result.Back() <= ' ')
25     result = result.First(result.GetLength() - 1);
26 
27   return result;
28 }
29