Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cxfa_layoutprocessor.h
Go to the documentation of this file.
1// Copyright 2016 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#ifndef XFA_FXFA_LAYOUT_CXFA_LAYOUTPROCESSOR_H_
8#define XFA_FXFA_LAYOUT_CXFA_LAYOUTPROCESSOR_H_
9
10#include <stdint.h>
11
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"
18
20class CXFA_LayoutItem;
21class CXFA_Node;
22class CXFA_ViewLayoutItem;
24
25namespace cppgc {
26class Heap;
27} // namespace cppgc
28
29class CXFA_LayoutProcessor final : public CXFA_Document::LayoutProcessorIface {
30 public:
31 static CXFA_LayoutProcessor* FromDocument(const CXFA_Document* pXFADoc);
32
35
36 void Trace(cppgc::Visitor* visitor) const override;
37
38 // CXFA_Document::LayoutProcessorIface:
39 void SetForceRelayout() override;
40 void SetHasChangedContainer() override;
41
42 int32_t StartLayout();
43 int32_t DoLayout();
44 bool IncrementLayout();
45 int32_t CountPages() const;
46 CXFA_ViewLayoutItem* GetPage(int32_t index) const;
49 return m_pContentLayoutProcessor;
50 }
52 return m_pViewLayoutProcessor;
53 }
54
55 private:
56 explicit CXFA_LayoutProcessor(cppgc::Heap* pHeap);
57
58 cppgc::Heap* GetHeap() { return m_pHeap; }
59 bool NeedLayout() const;
60 int32_t RestartLayout();
61
62 UnownedPtr<cppgc::Heap> const m_pHeap;
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;
68};
69
70#endif // XFA_FXFA_LAYOUT_CXFA_LAYOUTPROCESSOR_H_
friend class EventParamScope
static CJS_Result Success()
Definition cjs_result.h:27
static CJS_Result Failure(JSMessage id)
Definition cjs_result.h:34
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
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
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 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
Definition cxfa_object.h:91
CXFA_Node * GetMasterPage() const
bool IsEmpty() const
Definition widestring.h:118
static WideString FromASCII(ByteStringView str)
bool EqualsASCII(ByteStringView that) const
Definition widestring.h:216
int FXSYS_roundf(float f)
Definition fx_system.cpp:92
XFA_Unit
Definition fxfa_basic.h:91
XFA_Attribute
Definition fxfa_basic.h:67
XFA_Element
Definition fxfa_basic.h:75
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
Definition heap.h:32
JSMessage
#define JSE_PROP(prop_name)
Definition jse_define.h:28
#define JSE_METHOD(method_name)
Definition jse_define.h:17
Definition heap.h:12