summaryrefslogtreecommitdiff
path: root/xfa/fxfa/app/cxfa_texttabstopscontext.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-01-10 16:37:32 -0500
committerChromium commit bot <commit-bot@chromium.org>2017-01-10 21:52:30 +0000
commit1f5d4988dcdac125e3e822d37c9086a5e4a3e224 (patch)
tree41fe47f62e1a76117022ed3774040608f1f00c7b /xfa/fxfa/app/cxfa_texttabstopscontext.cpp
parent0e6438e40a95702edb8327286c8253aa269c9826 (diff)
downloadpdfium-1f5d4988dcdac125e3e822d37c9086a5e4a3e224.tar.xz
Split xfa_textlayout apart.
This CL splits the xfa_texlayout.{cpp|h} files into individual class files. Minor reformatting was done in the new clasess. Change-Id: Id79ffcb8dca3fcf287a2e6dec78fd2b1f990a542 Reviewed-on: https://pdfium-review.googlesource.com/2162 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'xfa/fxfa/app/cxfa_texttabstopscontext.cpp')
-rw-r--r--xfa/fxfa/app/cxfa_texttabstopscontext.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/xfa/fxfa/app/cxfa_texttabstopscontext.cpp b/xfa/fxfa/app/cxfa_texttabstopscontext.cpp
new file mode 100644
index 0000000000..3209603af3
--- /dev/null
+++ b/xfa/fxfa/app/cxfa_texttabstopscontext.cpp
@@ -0,0 +1,44 @@
+// Copyright 2017 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 "xfa/fxfa/app/cxfa_texttabstopscontext.h"
+
+CXFA_TextTabstopsContext::CXFA_TextTabstopsContext()
+ : m_iTabCount(0),
+ m_iTabIndex(-1),
+ m_bTabstops(false),
+ m_fTabWidth(0),
+ m_fLeft(0) {}
+
+CXFA_TextTabstopsContext::~CXFA_TextTabstopsContext() {}
+
+void CXFA_TextTabstopsContext::Append(uint32_t dwAlign, FX_FLOAT fTabstops) {
+ int32_t i = 0;
+ for (i = 0; i < m_iTabCount; i++) {
+ XFA_TABSTOPS* pTabstop = m_tabstops.GetDataPtr(i);
+ if (fTabstops < pTabstop->fTabstops) {
+ break;
+ }
+ }
+ m_tabstops.InsertSpaceAt(i, 1);
+ XFA_TABSTOPS tabstop;
+ tabstop.dwAlign = dwAlign;
+ tabstop.fTabstops = fTabstops;
+ m_tabstops.SetAt(i, tabstop);
+ m_iTabCount++;
+}
+
+void CXFA_TextTabstopsContext::RemoveAll() {
+ m_tabstops.RemoveAll();
+ m_iTabCount = 0;
+}
+
+void CXFA_TextTabstopsContext::Reset() {
+ m_iTabIndex = -1;
+ m_bTabstops = false;
+ m_fTabWidth = 0;
+ m_fLeft = 0;
+}