#include "xfa/fxfa/cxfa_ffpageview.h"
#include <algorithm>
#include <vector>
#include "core/fxcrt/check.h"
#include "core/fxcrt/containers/contains.h"
#include "core/fxcrt/stl_util.h"
#include "fxjs/gc/container_trace.h"
#include "fxjs/xfa/cjx_object.h"
#include "xfa/fxfa/cxfa_ffcheckbutton.h"
#include "xfa/fxfa/cxfa_ffdoc.h"
#include "xfa/fxfa/cxfa_ffdocview.h"
#include "xfa/fxfa/cxfa_fffield.h"
#include "xfa/fxfa/cxfa_ffimageedit.h"
#include "xfa/fxfa/cxfa_ffpushbutton.h"
#include "xfa/fxfa/cxfa_ffwidget.h"
#include "xfa/fxfa/cxfa_fwladapterwidgetmgr.h"
#include "xfa/fxfa/parser/cxfa_node.h"
#include "xfa/fxfa/parser/cxfa_traversal.h"
#include "xfa/fxfa/parser/cxfa_traverse.h"
namespace {
CFX_Matrix GetPageMatrix(const CFX_RectF& docPageRect,
const FX_RECT& devicePageRect,
int32_t iRotate) { … }
bool PageWidgetFilter(CXFA_FFWidget* pWidget,
Mask<XFA_WidgetStatus> dwFilter,
bool bTraversal,
bool bIgnoreRelevant) { … }
bool IsLayoutElement(XFA_Element eElement) { … }
CXFA_Document* GetDocForPageView(const CXFA_FFPageView* view) { … }
bool IsDocVersionBelow205(const CXFA_Document* doc) { … }
bool EnsureWidgetLoadedIfVisible(CXFA_FFWidget* pWidget) { … }
CXFA_FFWidget* LoadedWidgetFromLayoutItem(CXFA_LayoutItem* pLayoutItem) { … }
CXFA_FFWidget* FilteredLoadedWidgetFromLayoutItem(
CXFA_LayoutItem* pLayoutItem,
Mask<XFA_WidgetStatus> dwFilter,
bool bIgnoreRelevant) { … }
class CXFA_TabParam { … };
void OrderContainer(CXFA_LayoutItemIterator* sIterator,
CXFA_LayoutItem* pViewItem,
CXFA_TabParam* pContainer,
bool* bCurrentItem,
bool* bContentArea,
bool bMasterPage) { … }
}
CXFA_FFPageView::CXFA_FFPageView(CXFA_FFDocView* pDocView, CXFA_Node* pPageArea)
: … { … }
CXFA_FFPageView::~CXFA_FFPageView() = default;
void CXFA_FFPageView::Trace(cppgc::Visitor* visitor) const { … }
CXFA_FFDocView* CXFA_FFPageView::GetDocView() const { … }
CFX_RectF CXFA_FFPageView::GetPageViewRect() const { … }
CFX_Matrix CXFA_FFPageView::GetDisplayMatrix(const FX_RECT& rtDisp,
int32_t iRotate) const { … }
CXFA_FFWidget::IteratorIface* CXFA_FFPageView::CreateGCedTraverseWidgetIterator(
Mask<XFA_WidgetStatus> dwWidgetFilter) { … }
CXFA_FFPageWidgetIterator::CXFA_FFPageWidgetIterator(
CXFA_FFPageView* pPageView,
Mask<XFA_WidgetStatus> dwFilter)
: … { … }
CXFA_FFPageWidgetIterator::~CXFA_FFPageWidgetIterator() = default;
CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToFirst() { … }
CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToLast() { … }
CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToNext() { … }
CXFA_FFWidget* CXFA_FFPageWidgetIterator::MoveToPrevious() { … }
CXFA_FFWidget* CXFA_FFPageWidgetIterator::GetCurrentWidget() { … }
bool CXFA_FFPageWidgetIterator::SetCurrentWidget(CXFA_FFWidget* pWidget) { … }
CXFA_FFTabOrderPageWidgetIterator::CXFA_FFTabOrderPageWidgetIterator(
CXFA_FFPageView* pPageView,
Mask<XFA_WidgetStatus> dwFilter)
: … { … }
CXFA_FFTabOrderPageWidgetIterator::~CXFA_FFTabOrderPageWidgetIterator() =
default;
void CXFA_FFTabOrderPageWidgetIterator::Trace(cppgc::Visitor* visitor) const { … }
CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToFirst() { … }
CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToLast() { … }
CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToNext() { … }
CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::MoveToPrevious() { … }
CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetCurrentWidget() { … }
bool CXFA_FFTabOrderPageWidgetIterator::SetCurrentWidget(
CXFA_FFWidget* hWidget) { … }
CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetTraverseWidget(
CXFA_FFWidget* pWidget) { … }
CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::FindWidgetByName(
const WideString& wsWidgetName,
CXFA_FFWidget* pRefWidget) { … }
void CXFA_FFTabOrderPageWidgetIterator::CreateTabOrderWidgetArray() { … }
std::vector<CXFA_ContentLayoutItem*>
CXFA_FFTabOrderPageWidgetIterator::CreateSpaceOrderLayoutItems() { … }