7#ifndef XFA_FXFA_LAYOUT_CXFA_LAYOUTPROCESSOR_H_
8#define XFA_FXFA_LAYOUT_CXFA_LAYOUTPROCESSOR_H_
12#include "core/fxcrt/unowned_ptr.h"
13#include "fxjs/gc/heap.h"
14#include "v8/include/cppgc/garbage-collected.h"
15#include "v8/include/cppgc/member.h"
16#include "v8/include/cppgc/visitor.h"
17#include "xfa/fxfa/parser/cxfa_document.h"
22class CXFA_ViewLayoutItem;
31 static CXFA_LayoutProcessor*
FromDocument(
const CXFA_Document* pXFADoc);
36 void Trace(
cppgc::Visitor* visitor)
const override;
46 CXFA_ViewLayoutItem*
GetPage(int32_t index)
const;
49 return m_pContentLayoutProcessor;
52 return m_pViewLayoutProcessor;
56 explicit CXFA_LayoutProcessor(
cppgc::Heap* pHeap);
58 cppgc::Heap* GetHeap() {
return m_pHeap; }
59 bool NeedLayout()
const;
60 int32_t RestartLayout();
63 cppgc::Member<CXFA_ViewLayoutProcessor> m_pViewLayoutProcessor;
64 cppgc::Member<CXFA_ContentLayoutProcessor> m_pContentLayoutProcessor;
65 uint32_t m_nProgressCounter = 0;
66 bool m_bHasChangedContainers =
false;
67 bool m_bNeedLayout =
true;
friend class EventParamScope
static CJS_Result Success()
static CJS_Result Failure(JSMessage id)
bool DynamicTypeIs(TypeTag eType) const override
~CJX_LayoutPseudoModel() override
void DefineMethods(pdfium::span< const CJX_MethodSpec > methods)
CXFA_Document * GetDocument() const
virtual bool DynamicTypeIs(TypeTag eType) const
void ThrowException(v8::Isolate *pIsolate, const WideString &str) const
CXFA_ContentLayoutItem * GetNext() const
CFX_RectF GetRelativeRect() const
CXFA_ContentLayoutItem * GetLast()
CXFA_ContentLayoutItem * GetFirst()
CXFA_NodeOwner * GetNodeOwner()
CXFA_FFDocView::LayoutStatus GetLayoutStatus()
const CXFA_ViewLayoutItem * GetPage() const
CXFA_ContentLayoutItem * AsContentLayoutItem()
CXFA_Node * GetFormNode() const
~CXFA_LayoutProcessor() override
int32_t CountPages() const
void Trace(cppgc::Visitor *visitor) const override
CXFA_LayoutItem * GetLayoutItem(CXFA_Node *pFormItem)
void SetHasChangedContainer() override
CXFA_ViewLayoutProcessor * GetLayoutPageMgr() const
CXFA_ViewLayoutItem * GetPage(int32_t index) const
CXFA_ContentLayoutProcessor * GetRootContentLayoutProcessor() const
static CXFA_LayoutProcessor * FromDocument(const CXFA_Document *pXFADoc)
void SetForceRelayout() override
void Set(float fValue, XFA_Unit eUnit)
float ToUnit(XFA_Unit eUnit) const
static XFA_Unit GetUnitFromString(WideStringView wsUnit)
void PersistList(CXFA_List *list)
XFA_Element GetElementType() const
CXFA_Node * GetMasterPage() const
static WideString FromASCII(ByteStringView str)
bool EqualsASCII(ByteStringView that) const
int FXSYS_roundf(float f)
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
#define JSE_PROP(prop_name)
#define JSE_METHOD(method_name)