| Index: core/src/reflow/autoreflow.h
|
| diff --git a/core/src/reflow/autoreflow.h b/core/src/reflow/autoreflow.h
|
| index d98f33bf4e34ad1550b585166499f410b9df65c6..6783bf9547878390d85c5d80dddbeca19c3f26d7 100644
|
| --- a/core/src/reflow/autoreflow.h
|
| +++ b/core/src/reflow/autoreflow.h
|
| @@ -1,7 +1,7 @@
|
| // Copyright 2014 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 _AUTOREFLOW_H
|
| @@ -12,111 +12,90 @@ class CPDF_AutoReflowElement;
|
| class CPDF_AutoReflowLayoutProvider;
|
| typedef CFX_ArrayTemplate<CPDF_AutoReflowElement*> CAR_ElmPtrArray;
|
| typedef CFX_ArrayTemplate<CPDF_PageObject*> CAR_ObjPtrArray;
|
| -class CRF_CELL : public CFX_Object
|
| -{
|
| -public:
|
| - CRF_CELL() { };
|
| - ~CRF_CELL() { };
|
| - CFX_PtrList m_ObjList;
|
| - int m_CellWritingMode;
|
| - FX_RECT m_BBox;
|
| +class CRF_CELL : public CFX_Object {
|
| + public:
|
| + CRF_CELL(){};
|
| + ~CRF_CELL(){};
|
| + CFX_PtrList m_ObjList;
|
| + int m_CellWritingMode;
|
| + FX_RECT m_BBox;
|
| };
|
| -class CPDF_AutoReflowElement : public IPDF_LayoutElement, public CFX_Object
|
| -{
|
| -public:
|
| - CPDF_AutoReflowElement(LayoutType layoutType = LayoutUnknown , CPDF_AutoReflowElement* pParent = NULL) ;
|
| - ~CPDF_AutoReflowElement();
|
| - LayoutType GetType()
|
| - {
|
| - return m_ElmType;
|
| - }
|
| - void GetRect(CFX_FloatRect& rcRect) {};
|
| +class CPDF_AutoReflowElement : public IPDF_LayoutElement, public CFX_Object {
|
| + public:
|
| + CPDF_AutoReflowElement(LayoutType layoutType = LayoutUnknown,
|
| + CPDF_AutoReflowElement* pParent = NULL);
|
| + ~CPDF_AutoReflowElement();
|
| + LayoutType GetType() { return m_ElmType; }
|
| + void GetRect(CFX_FloatRect& rcRect){};
|
|
|
| - int CountAttrValues(LayoutAttr attr_type);
|
| - LayoutEnum GetEnumAttr(LayoutAttr attr_type, int index);
|
| - FX_FLOAT GetNumberAttr(LayoutAttr attr_type, int index);
|
| - FX_COLORREF GetColorAttr(LayoutAttr attr_type, int index);
|
| + int CountAttrValues(LayoutAttr attr_type);
|
| + LayoutEnum GetEnumAttr(LayoutAttr attr_type, int index);
|
| + FX_FLOAT GetNumberAttr(LayoutAttr attr_type, int index);
|
| + FX_COLORREF GetColorAttr(LayoutAttr attr_type, int index);
|
|
|
| - int CountChildren()
|
| - {
|
| - return m_ChildArray.GetSize();
|
| - }
|
| - IPDF_LayoutElement* GetChild(int index)
|
| - {
|
| - return m_ChildArray.GetAt(index);
|
| - }
|
| + int CountChildren() { return m_ChildArray.GetSize(); }
|
| + IPDF_LayoutElement* GetChild(int index) { return m_ChildArray.GetAt(index); }
|
|
|
| - IPDF_LayoutElement* GetParent()
|
| - {
|
| - return m_pParentElm;
|
| - }
|
| - int CountObjects()
|
| - {
|
| - return m_ObjArray.GetSize();
|
| - }
|
| - CPDF_PageObject* GetObject(int index)
|
| - {
|
| - return m_ObjArray.GetAt(index);
|
| - }
|
| - CPDF_AutoReflowElement* m_pParentElm;
|
| - LayoutType m_ElmType;
|
| - CAR_ElmPtrArray m_ChildArray;
|
| - CAR_ObjPtrArray m_ObjArray;
|
| - FX_FLOAT m_SpaceBefore;
|
| + IPDF_LayoutElement* GetParent() { return m_pParentElm; }
|
| + int CountObjects() { return m_ObjArray.GetSize(); }
|
| + CPDF_PageObject* GetObject(int index) { return m_ObjArray.GetAt(index); }
|
| + CPDF_AutoReflowElement* m_pParentElm;
|
| + LayoutType m_ElmType;
|
| + CAR_ElmPtrArray m_ChildArray;
|
| + CAR_ObjPtrArray m_ObjArray;
|
| + FX_FLOAT m_SpaceBefore;
|
| };
|
| -#define AUTOREFLOW_STEP_GENERATELINE 1
|
| -#define AUTOREFLOW_STEP_GENERATEParagraph 2
|
| -#define AUTOREFLOW_STEP_CREATEELEMENT 3
|
| -#define AUTOREFLOW_STEP_REMOVEDATA 4
|
| -class CPDF_AutoReflowLayoutProvider : public IPDF_LayoutProvider, public CFX_Object
|
| -{
|
| -public:
|
| - CPDF_AutoReflowLayoutProvider(CPDF_PageObjects* pPage, FX_BOOL bReadOrder);
|
| - ~CPDF_AutoReflowLayoutProvider();
|
| - void SetLayoutProviderStyle(LAYOUTPROVIDER_STYLE Style)
|
| - {
|
| - m_Style = Style;
|
| - }
|
| - LayoutStatus StartLoad(IFX_Pause* pPause = NULL);
|
| - LayoutStatus Continue();
|
| - int GetPosition();
|
| - IPDF_LayoutElement* GetRoot()
|
| - {
|
| - return m_pRoot;
|
| - }
|
| - FX_FLOAT GetObjMinCell(CPDF_PageObject* pObj);
|
| - void Conver2AppreceOrder(const CPDF_PageObjects* pStreamOrderObjs, CPDF_PageObjects* pAppraceOrderObjs);
|
| - void ReleaseElm(CPDF_AutoReflowElement*& pElm, FX_BOOL bReleaseChildren = TRUE);
|
| - void GenerateCell();
|
| - void GenerateStructTree();
|
| - void GenerateLine(CFX_PtrArray& cellArray);
|
| - void GenerateParagraph(CFX_PtrArray& cellArray);
|
| - void CreateElement();
|
| - void AddObjectArray(CPDF_AutoReflowElement* pElm, CFX_PtrList& ObjList);
|
| - FX_FLOAT GetLayoutOrderHeight(CPDF_PageObject* pCurObj);
|
| - FX_FLOAT GetLayoutOrderWidth(CPDF_PageObject* pCurObj);
|
| - int GetWritingMode(CPDF_PageObject* pPreObj, CPDF_PageObject* pCurObj);
|
| - int GetRectStart(FX_RECT rect);
|
| - int GetRectEnd(FX_RECT rect);
|
| - int GetRectTop(FX_RECT rect);
|
| - int GetRectBottom(FX_RECT rect);
|
| - int GetRectHeight(FX_RECT rect);
|
| - int GetRectWidth(FX_RECT rect);
|
| - void ProcessObj(CFX_PtrArray& cellArray, CPDF_PageObject* pObj, CFX_AffineMatrix matrix);
|
| - FX_INT32 LogicPreObj(CPDF_PageObject* pObj);
|
| +#define AUTOREFLOW_STEP_GENERATELINE 1
|
| +#define AUTOREFLOW_STEP_GENERATEParagraph 2
|
| +#define AUTOREFLOW_STEP_CREATEELEMENT 3
|
| +#define AUTOREFLOW_STEP_REMOVEDATA 4
|
| +class CPDF_AutoReflowLayoutProvider : public IPDF_LayoutProvider,
|
| + public CFX_Object {
|
| + public:
|
| + CPDF_AutoReflowLayoutProvider(CPDF_PageObjects* pPage, FX_BOOL bReadOrder);
|
| + ~CPDF_AutoReflowLayoutProvider();
|
| + void SetLayoutProviderStyle(LAYOUTPROVIDER_STYLE Style) { m_Style = Style; }
|
| + LayoutStatus StartLoad(IFX_Pause* pPause = NULL);
|
| + LayoutStatus Continue();
|
| + int GetPosition();
|
| + IPDF_LayoutElement* GetRoot() { return m_pRoot; }
|
| + FX_FLOAT GetObjMinCell(CPDF_PageObject* pObj);
|
| + void Conver2AppreceOrder(const CPDF_PageObjects* pStreamOrderObjs,
|
| + CPDF_PageObjects* pAppraceOrderObjs);
|
| + void ReleaseElm(CPDF_AutoReflowElement*& pElm,
|
| + FX_BOOL bReleaseChildren = TRUE);
|
| + void GenerateCell();
|
| + void GenerateStructTree();
|
| + void GenerateLine(CFX_PtrArray& cellArray);
|
| + void GenerateParagraph(CFX_PtrArray& cellArray);
|
| + void CreateElement();
|
| + void AddObjectArray(CPDF_AutoReflowElement* pElm, CFX_PtrList& ObjList);
|
| + FX_FLOAT GetLayoutOrderHeight(CPDF_PageObject* pCurObj);
|
| + FX_FLOAT GetLayoutOrderWidth(CPDF_PageObject* pCurObj);
|
| + int GetWritingMode(CPDF_PageObject* pPreObj, CPDF_PageObject* pCurObj);
|
| + int GetRectStart(FX_RECT rect);
|
| + int GetRectEnd(FX_RECT rect);
|
| + int GetRectTop(FX_RECT rect);
|
| + int GetRectBottom(FX_RECT rect);
|
| + int GetRectHeight(FX_RECT rect);
|
| + int GetRectWidth(FX_RECT rect);
|
| + void ProcessObj(CFX_PtrArray& cellArray,
|
| + CPDF_PageObject* pObj,
|
| + CFX_AffineMatrix matrix);
|
| + FX_INT32 LogicPreObj(CPDF_PageObject* pObj);
|
|
|
| - CPDF_AutoReflowElement* m_pRoot;
|
| - CPDF_AutoReflowElement* m_pCurrElm;
|
| - CPDF_Page* m_pPDFPage;
|
| - IFX_Pause* m_pPause;
|
| - CFX_AffineMatrix m_PDFDisplayMatrix;
|
| - CPDF_PageObject* m_pPreObj;
|
| - LayoutStatus m_Status;
|
| - int m_WritingMode;
|
| - CFX_PtrArray m_CellArray;
|
| - FX_BOOL m_bReadOrder;
|
| - LAYOUTPROVIDER_STYLE m_Style;
|
| - CFX_PtrArray m_cellArray;
|
| - int m_Step;
|
| + CPDF_AutoReflowElement* m_pRoot;
|
| + CPDF_AutoReflowElement* m_pCurrElm;
|
| + CPDF_Page* m_pPDFPage;
|
| + IFX_Pause* m_pPause;
|
| + CFX_AffineMatrix m_PDFDisplayMatrix;
|
| + CPDF_PageObject* m_pPreObj;
|
| + LayoutStatus m_Status;
|
| + int m_WritingMode;
|
| + CFX_PtrArray m_CellArray;
|
| + FX_BOOL m_bReadOrder;
|
| + LAYOUTPROVIDER_STYLE m_Style;
|
| + CFX_PtrArray m_cellArray;
|
| + int m_Step;
|
| };
|
| #endif
|
|
|