summaryrefslogtreecommitdiff
path: root/xfa/fxfa/app/cxfa_textlayout.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/app/cxfa_textlayout.h')
-rw-r--r--xfa/fxfa/app/cxfa_textlayout.h136
1 files changed, 0 insertions, 136 deletions
diff --git a/xfa/fxfa/app/cxfa_textlayout.h b/xfa/fxfa/app/cxfa_textlayout.h
deleted file mode 100644
index e8c203fcc1..0000000000
--- a/xfa/fxfa/app/cxfa_textlayout.h
+++ /dev/null
@@ -1,136 +0,0 @@
-// 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
-
-#ifndef XFA_FXFA_APP_CXFA_TEXTLAYOUT_H_
-#define XFA_FXFA_APP_CXFA_TEXTLAYOUT_H_
-
-#include <memory>
-#include <vector>
-
-#include "core/fxcrt/fx_basic.h"
-#include "core/fxcrt/fx_coordinates.h"
-#include "core/fxcrt/fx_string.h"
-#include "xfa/fde/css/fde_css.h"
-#include "xfa/fgas/layout/cfx_rtfbreak.h"
-#include "xfa/fxfa/app/cxfa_textparser.h"
-
-class CFDE_Brush;
-class CFDE_CSSComputedStyle;
-class CFDE_Pen;
-class CFDE_RenderDevice;
-class CFX_XMLNode;
-class CFX_RTFBreak;
-class CXFA_LoaderContext;
-class CXFA_LinkUserData;
-class CXFA_Node;
-class CXFA_PieceLine;
-class CXFA_TextProvider;
-class CXFA_TextTabstopsContext;
-class CXFA_TextPiece;
-
-class CXFA_TextLayout {
- public:
- explicit CXFA_TextLayout(CXFA_TextProvider* pTextProvider);
- ~CXFA_TextLayout();
-
- int32_t GetText(CFX_WideString& wsText);
- float GetLayoutHeight();
- float StartLayout(float fWidth = -1);
- bool DoLayout(int32_t iBlockIndex,
- float& fCalcHeight,
- float fContentAreaHeight = -1,
- float fTextHeight = -1);
-
- bool CalcSize(const CFX_SizeF& minSize,
- const CFX_SizeF& maxSize,
- CFX_SizeF& defaultSize);
- bool Layout(const CFX_SizeF& size, float* fHeight = nullptr);
- void ItemBlocks(const CFX_RectF& rtText, int32_t iBlockIndex);
- bool DrawString(CFX_RenderDevice* pFxDevice,
- const CFX_Matrix& tmDoc2Device,
- const CFX_RectF& rtClip,
- int32_t iBlock = 0);
- bool IsLoaded() const { return !m_pieceLines.empty(); }
- void Unload();
- const std::vector<std::unique_ptr<CXFA_PieceLine>>* GetPieceLines() const {
- return &m_pieceLines;
- }
-
- bool m_bHasBlock;
- std::vector<int32_t> m_Blocks;
-
- private:
- void GetTextDataNode();
- CFX_XMLNode* GetXMLContainerNode();
- std::unique_ptr<CFX_RTFBreak> CreateBreak(bool bDefault);
- void InitBreak(float fLineWidth);
- void InitBreak(CFDE_CSSComputedStyle* pStyle,
- FDE_CSSDisplay eDisplay,
- float fLineWidth,
- CFX_XMLNode* pXMLNode,
- CFDE_CSSComputedStyle* pParentStyle = nullptr);
- bool Loader(const CFX_SizeF& szText,
- float& fLinePos,
- bool bSavePieces = true);
- void LoadText(CXFA_Node* pNode,
- const CFX_SizeF& szText,
- float& fLinePos,
- bool bSavePieces);
- bool LoadRichText(CFX_XMLNode* pXMLNode,
- const CFX_SizeF& szText,
- float& fLinePos,
- const CFX_RetainPtr<CFDE_CSSComputedStyle>& pParentStyle,
- bool bSavePieces,
- CFX_RetainPtr<CXFA_LinkUserData> pLinkData,
- bool bEndBreak = true,
- bool bIsOl = false,
- int32_t iLiCount = 0);
- bool AppendChar(const CFX_WideString& wsText,
- float& fLinePos,
- float fSpaceAbove,
- bool bSavePieces);
- void AppendTextLine(CFX_BreakType dwStatus,
- float& fLinePos,
- bool bSavePieces,
- bool bEndBreak = false);
- void EndBreak(CFX_BreakType dwStatus, float& fLinePos, bool bDefault);
- bool IsEnd(bool bSavePieces);
- void ProcessText(CFX_WideString& wsText);
- void UpdateAlign(float fHeight, float fBottom);
- void RenderString(CFDE_RenderDevice* pDevice,
- CFDE_Brush* pBrush,
- CXFA_PieceLine* pPieceLine,
- int32_t iPiece,
- FXTEXT_CHARPOS* pCharPos,
- const CFX_Matrix& tmDoc2Device);
- void RenderPath(CFDE_RenderDevice* pDevice,
- CFDE_Pen* pPen,
- CXFA_PieceLine* pPieceLine,
- int32_t iPiece,
- FXTEXT_CHARPOS* pCharPos,
- const CFX_Matrix& tmDoc2Device);
- int32_t GetDisplayPos(const CXFA_TextPiece* pPiece,
- FXTEXT_CHARPOS* pCharPos,
- bool bCharCode = false);
- bool ToRun(const CXFA_TextPiece* pPiece, FX_RTFTEXTOBJ* tr);
- void DoTabstops(CFDE_CSSComputedStyle* pStyle, CXFA_PieceLine* pPieceLine);
- bool Layout(int32_t iBlock);
- int32_t CountBlocks() const;
-
- CXFA_TextProvider* m_pTextProvider;
- CXFA_Node* m_pTextDataNode;
- bool m_bRichText;
- std::unique_ptr<CFX_RTFBreak> m_pBreak;
- std::unique_ptr<CXFA_LoaderContext> m_pLoader;
- int32_t m_iLines;
- float m_fMaxWidth;
- CXFA_TextParser m_textParser;
- std::vector<std::unique_ptr<CXFA_PieceLine>> m_pieceLines;
- std::unique_ptr<CXFA_TextTabstopsContext> m_pTabstopContext;
- bool m_bBlockContinue;
-};
-
-#endif // XFA_FXFA_APP_CXFA_TEXTLAYOUT_H_