summaryrefslogtreecommitdiff
path: root/xfa/fxfa
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-06-16 08:00:06 -0700
committerCommit bot <commit-bot@chromium.org>2016-06-16 08:00:06 -0700
commit47bcd4c5c56cdc2d63a0c2ed4e7f68e6ccf523f6 (patch)
tree90675d8541871a71c6cd9c64723464878bd49a90 /xfa/fxfa
parentb63068f04681f7ade9c062a442977c660e3503d0 (diff)
downloadpdfium-47bcd4c5c56cdc2d63a0c2ed4e7f68e6ccf523f6.tar.xz
Make code compile with clang_use_chrome_plugin (part V)chromium/2770
This change mainly contains files in xfa/fxfa directory. This is part of the efforts to make PDFium code compilable by Clang chromium style plugins. The changes are mainly the following: -- move inline constructor/destructor of complex class/struct out-of-line; -- add constructor/destructor of complex class/struct if not explicitly defined; -- add explicit out-of-line copy constructor when needed; -- move inline virtual functions out-of-line; -- Properly mark virtual functions with 'override'; -- some minor cleanups; BUG=pdfium:469 Review-Url: https://codereview.chromium.org/2071683002
Diffstat (limited to 'xfa/fxfa')
-rw-r--r--xfa/fxfa/app/xfa_ffapp.cpp7
-rw-r--r--xfa/fxfa/app/xfa_ffbarcode.h20
-rw-r--r--xfa/fxfa/app/xfa_ffcheckbutton.h38
-rw-r--r--xfa/fxfa/app/xfa_ffchoicelist.h106
-rw-r--r--xfa/fxfa/app/xfa_ffdraw.h2
-rw-r--r--xfa/fxfa/app/xfa_ffexclgroup.h11
-rw-r--r--xfa/fxfa/app/xfa_fffield.h86
-rw-r--r--xfa/fxfa/app/xfa_ffimage.h18
-rw-r--r--xfa/fxfa/app/xfa_ffimageedit.h34
-rw-r--r--xfa/fxfa/app/xfa_ffpageview.cpp4
-rw-r--r--xfa/fxfa/app/xfa_ffpath.h37
-rw-r--r--xfa/fxfa/app/xfa_ffpushbutton.h29
-rw-r--r--xfa/fxfa/app/xfa_ffsignature.h49
-rw-r--r--xfa/fxfa/app/xfa_ffsubform.h2
-rw-r--r--xfa/fxfa/app/xfa_fftext.h26
-rw-r--r--xfa/fxfa/app/xfa_fftextedit.cpp1
-rw-r--r--xfa/fxfa/app/xfa_fftextedit.h89
-rw-r--r--xfa/fxfa/app/xfa_ffwidget.cpp66
-rw-r--r--xfa/fxfa/app/xfa_ffwidgetacc.h1
-rw-r--r--xfa/fxfa/app/xfa_fontmgr.cpp2
-rw-r--r--xfa/fxfa/app/xfa_fwltheme.cpp15
-rw-r--r--xfa/fxfa/app/xfa_fwltheme.h23
-rw-r--r--xfa/fxfa/app/xfa_textlayout.cpp144
-rw-r--r--xfa/fxfa/app/xfa_textlayout.h141
-rw-r--r--xfa/fxfa/fm2js/xfa_expression.cpp12
-rw-r--r--xfa/fxfa/fm2js/xfa_expression.h12
-rw-r--r--xfa/fxfa/fm2js/xfa_fm2jscontext.h10
-rw-r--r--xfa/fxfa/fm2js/xfa_fmparse.cpp2
-rw-r--r--xfa/fxfa/fm2js/xfa_fmparse.h2
-rw-r--r--xfa/fxfa/fm2js/xfa_lexer.cpp2
-rw-r--r--xfa/fxfa/fm2js/xfa_lexer.h2
-rw-r--r--xfa/fxfa/fm2js/xfa_simpleexpression.cpp14
-rw-r--r--xfa/fxfa/fm2js/xfa_simpleexpression.h15
-rw-r--r--xfa/fxfa/include/fxfa.h40
-rw-r--r--xfa/fxfa/include/xfa_ffapp.h9
-rw-r--r--xfa/fxfa/include/xfa_ffpageview.h6
-rw-r--r--xfa/fxfa/include/xfa_ffwidget.h73
-rw-r--r--xfa/fxfa/include/xfa_fontmgr.h2
-rw-r--r--xfa/fxfa/include/xfa_rendercontext.h8
-rw-r--r--xfa/fxfa/parser/cxfa_widgetdata.h1
-rw-r--r--xfa/fxfa/parser/xfa_basic_imp.cpp30
-rw-r--r--xfa/fxfa/parser/xfa_basic_imp.h64
-rw-r--r--xfa/fxfa/parser/xfa_doclayout.h2
-rw-r--r--xfa/fxfa/parser/xfa_document.h2
-rw-r--r--xfa/fxfa/parser/xfa_layout_appadapter.h2
-rw-r--r--xfa/fxfa/parser/xfa_layout_itemlayout.cpp3
-rw-r--r--xfa/fxfa/parser/xfa_layout_itemlayout.h1
-rw-r--r--xfa/fxfa/parser/xfa_layout_pagemgr_new.h2
-rw-r--r--xfa/fxfa/parser/xfa_locale.h103
-rw-r--r--xfa/fxfa/parser/xfa_localemgr.h3
-rw-r--r--xfa/fxfa/parser/xfa_object.h68
-rw-r--r--xfa/fxfa/parser/xfa_object_imp.cpp48
-rw-r--r--xfa/fxfa/parser/xfa_parser_imp.cpp45
-rw-r--r--xfa/fxfa/parser/xfa_parser_imp.h32
-rw-r--r--xfa/fxfa/parser/xfa_script.h12
-rw-r--r--xfa/fxfa/parser/xfa_script_datawindow.h3
-rw-r--r--xfa/fxfa/parser/xfa_script_eventpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/xfa_script_hostpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/xfa_script_layoutpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/xfa_script_logpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/xfa_script_resolveprocessor.cpp16
-rw-r--r--xfa/fxfa/parser/xfa_script_resolveprocessor.h15
-rw-r--r--xfa/fxfa/parser/xfa_script_signaturepseudomodel.h3
63 files changed, 1009 insertions, 614 deletions
diff --git a/xfa/fxfa/app/xfa_ffapp.cpp b/xfa/fxfa/app/xfa_ffapp.cpp
index f2a6ad5e0d..5f2f1b9828 100644
--- a/xfa/fxfa/app/xfa_ffapp.cpp
+++ b/xfa/fxfa/app/xfa_ffapp.cpp
@@ -25,6 +25,9 @@ CXFA_FileRead::CXFA_FileRead(const CFX_ArrayTemplate<CPDF_Stream*>& streams) {
acc.LoadAllData(streams[i]);
}
}
+
+CXFA_FileRead::~CXFA_FileRead() {}
+
FX_FILESIZE CXFA_FileRead::GetSize() {
uint32_t dwSize = 0;
int32_t iCount = m_Data.GetSize();
@@ -64,6 +67,10 @@ FX_BOOL CXFA_FileRead::ReadBlock(void* buffer,
return FALSE;
}
+void CXFA_FileRead::Release() {
+ delete this;
+}
+
CXFA_FFApp::CXFA_FFApp(IXFA_AppProvider* pProvider)
: m_pDocHandler(nullptr),
m_pFWLTheme(nullptr),
diff --git a/xfa/fxfa/app/xfa_ffbarcode.h b/xfa/fxfa/app/xfa_ffbarcode.h
index ffa7037839..5a412a6174 100644
--- a/xfa/fxfa/app/xfa_ffbarcode.h
+++ b/xfa/fxfa/app/xfa_ffbarcode.h
@@ -14,15 +14,17 @@
class CXFA_FFBarcode : public CXFA_FFTextEdit {
public:
CXFA_FFBarcode(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFBarcode();
- virtual FX_BOOL LoadWidget();
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
- virtual void UpdateWidgetProperty();
- virtual FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnRButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
+ ~CXFA_FFBarcode() override;
+
+ // CXFA_FFTextEdit
+ FX_BOOL LoadWidget() override;
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
+ void UpdateWidgetProperty() override;
+ FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnRButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
};
enum XFA_BARCODETYPEENUM {
diff --git a/xfa/fxfa/app/xfa_ffcheckbutton.h b/xfa/fxfa/app/xfa_ffcheckbutton.h
index c3323b4035..fc219f9e2c 100644
--- a/xfa/fxfa/app/xfa_ffcheckbutton.h
+++ b/xfa/fxfa/app/xfa_ffcheckbutton.h
@@ -13,26 +13,30 @@
class CXFA_FFCheckButton : public CXFA_FFField {
public:
CXFA_FFCheckButton(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFCheckButton();
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
-
- virtual FX_BOOL LoadWidget();
- virtual FX_BOOL PerformLayout();
- virtual FX_BOOL UpdateFWLData();
- virtual void UpdateWidgetProperty();
- virtual FX_BOOL OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
+ ~CXFA_FFCheckButton() override;
+
+ // CXFA_FFField
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
+
+ FX_BOOL LoadWidget() override;
+ FX_BOOL PerformLayout() override;
+ FX_BOOL UpdateFWLData() override;
+ void UpdateWidgetProperty() override;
+ FX_BOOL OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ void OnProcessMessage(CFWL_Message* pMessage) override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
+ void OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL) override;
+
void SetFWLCheckState(XFA_CHECKSTATE eCheckState);
- virtual void OnProcessMessage(CFWL_Message* pMessage);
- virtual void OnProcessEvent(CFWL_Event* pEvent);
- virtual void OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
protected:
- virtual FX_BOOL CommitData();
- virtual FX_BOOL IsDataChanged();
+ FX_BOOL CommitData() override;
+ FX_BOOL IsDataChanged() override;
+
void CapLeftRightPlacement(CXFA_Margin mgCap);
void AddUIMargin(int32_t iCapPlacement);
XFA_CHECKSTATE FWLState2XFAState();
diff --git a/xfa/fxfa/app/xfa_ffchoicelist.h b/xfa/fxfa/app/xfa_ffchoicelist.h
index c59ca647aa..8f87190b77 100644
--- a/xfa/fxfa/app/xfa_ffchoicelist.h
+++ b/xfa/fxfa/app/xfa_ffchoicelist.h
@@ -13,68 +13,68 @@
class CXFA_FFListBox : public CXFA_FFField {
public:
CXFA_FFListBox(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFListBox();
- virtual FX_BOOL LoadWidget();
- virtual FX_BOOL OnKillFocus(CXFA_FFWidget* pNewWidget);
+ ~CXFA_FFListBox() override;
- protected:
- virtual FX_BOOL CommitData();
- virtual FX_BOOL UpdateFWLData();
- virtual FX_BOOL IsDataChanged();
- uint32_t GetAlignment();
+ // CXFA_FFField
+ FX_BOOL LoadWidget() override;
+ FX_BOOL OnKillFocus(CXFA_FFWidget* pNewWidget) override;
+ void OnProcessMessage(CFWL_Message* pMessage) override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
+ void OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL) override;
- public:
void OnSelectChanged(IFWL_Widget* pWidget, const CFX_Int32Array& arrSels);
void SetItemState(int32_t nIndex, FX_BOOL bSelected);
void InsertItem(const CFX_WideStringC& wsLabel, int32_t nIndex = -1);
void DeleteItem(int32_t nIndex);
- virtual void OnProcessMessage(CFWL_Message* pMessage);
- virtual void OnProcessEvent(CFWL_Event* pEvent);
- virtual void OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
protected:
+ FX_BOOL CommitData() override;
+ FX_BOOL UpdateFWLData() override;
+ FX_BOOL IsDataChanged() override;
+
+ uint32_t GetAlignment();
+
IFWL_WidgetDelegate* m_pOldDelegate;
};
+
class CXFA_FFComboBox : public CXFA_FFField {
public:
CXFA_FFComboBox(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFComboBox();
- virtual FX_BOOL GetBBox(CFX_RectF& rtBox,
- uint32_t dwStatus,
- FX_BOOL bDrawFocus = FALSE);
- virtual FX_BOOL LoadWidget();
- virtual void UpdateWidgetProperty();
- virtual FX_BOOL OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnKillFocus(CXFA_FFWidget* pNewWidget);
- virtual FX_BOOL CanUndo();
- virtual FX_BOOL CanRedo();
- virtual FX_BOOL Undo();
- virtual FX_BOOL Redo();
-
- virtual FX_BOOL CanCopy();
- virtual FX_BOOL CanCut();
- virtual FX_BOOL CanPaste();
- virtual FX_BOOL CanSelectAll();
- virtual FX_BOOL Copy(CFX_WideString& wsCopy);
- virtual FX_BOOL Cut(CFX_WideString& wsCut);
- virtual FX_BOOL Paste(const CFX_WideString& wsPaste);
- virtual FX_BOOL SelectAll();
- virtual FX_BOOL Delete();
- virtual FX_BOOL DeSelect();
- void OpenDropDownList();
+ ~CXFA_FFComboBox() override;
- protected:
- virtual FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL CommitData();
- virtual FX_BOOL UpdateFWLData();
- virtual FX_BOOL IsDataChanged();
- uint32_t GetAlignment();
- void FWLEventSelChange(CXFA_EventParam* pParam);
+ // CXFA_FFField
+ FX_BOOL GetBBox(CFX_RectF& rtBox,
+ uint32_t dwStatus,
+ FX_BOOL bDrawFocus = FALSE) override;
+ FX_BOOL LoadWidget() override;
+ void UpdateWidgetProperty() override;
+ FX_BOOL OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnKillFocus(CXFA_FFWidget* pNewWidget) override;
+ FX_BOOL CanUndo() override;
+ FX_BOOL CanRedo() override;
+ FX_BOOL Undo() override;
+ FX_BOOL Redo() override;
- CFX_WideString m_wsNewValue;
+ FX_BOOL CanCopy() override;
+ FX_BOOL CanCut() override;
+ FX_BOOL CanPaste() override;
+ FX_BOOL CanSelectAll() override;
+ FX_BOOL Copy(CFX_WideString& wsCopy) override;
+ FX_BOOL Cut(CFX_WideString& wsCut) override;
+ FX_BOOL Paste(const CFX_WideString& wsPaste) override;
+ FX_BOOL SelectAll() override;
+ FX_BOOL Delete() override;
+ FX_BOOL DeSelect() override;
+
+ // IFWL_WidgetDelegate
+ void OnProcessMessage(CFWL_Message* pMessage) override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
+ void OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL) override;
+
+ virtual void OpenDropDownList();
- public:
void OnTextChanged(IFWL_Widget* pWidget, const CFX_WideString& wsChanged);
void OnSelectChanged(IFWL_Widget* pWidget,
const CFX_Int32Array& arrSels,
@@ -84,12 +84,18 @@ class CXFA_FFComboBox : public CXFA_FFField {
void SetItemState(int32_t nIndex, FX_BOOL bSelected);
void InsertItem(const CFX_WideStringC& wsLabel, int32_t nIndex = -1);
void DeleteItem(int32_t nIndex);
- virtual void OnProcessMessage(CFWL_Message* pMessage);
- virtual void OnProcessEvent(CFWL_Event* pEvent);
- virtual void OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
protected:
+ // CXFA_FFField
+ FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL CommitData() override;
+ FX_BOOL UpdateFWLData() override;
+ FX_BOOL IsDataChanged() override;
+
+ uint32_t GetAlignment();
+ void FWLEventSelChange(CXFA_EventParam* pParam);
+
+ CFX_WideString m_wsNewValue;
IFWL_WidgetDelegate* m_pOldDelegate;
};
diff --git a/xfa/fxfa/app/xfa_ffdraw.h b/xfa/fxfa/app/xfa_ffdraw.h
index c3c1c14445..ee66871217 100644
--- a/xfa/fxfa/app/xfa_ffdraw.h
+++ b/xfa/fxfa/app/xfa_ffdraw.h
@@ -13,7 +13,7 @@
class CXFA_FFDraw : public CXFA_FFWidget {
public:
CXFA_FFDraw(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFDraw();
+ ~CXFA_FFDraw() override;
};
#endif // XFA_FXFA_APP_XFA_FFDRAW_H_
diff --git a/xfa/fxfa/app/xfa_ffexclgroup.h b/xfa/fxfa/app/xfa_ffexclgroup.h
index 6b59f05384..52a8e56466 100644
--- a/xfa/fxfa/app/xfa_ffexclgroup.h
+++ b/xfa/fxfa/app/xfa_ffexclgroup.h
@@ -13,12 +13,13 @@
class CXFA_FFExclGroup : public CXFA_FFWidget {
public:
CXFA_FFExclGroup(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFExclGroup();
+ ~CXFA_FFExclGroup() override;
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
+ // CXFA_FFWidget
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
};
#endif // XFA_FXFA_APP_XFA_FFEXCLGROUP_H_
diff --git a/xfa/fxfa/app/xfa_fffield.h b/xfa/fxfa/app/xfa_fffield.h
index fd6661dea2..3aa358758f 100644
--- a/xfa/fxfa/app/xfa_fffield.h
+++ b/xfa/fxfa/app/xfa_fffield.h
@@ -18,45 +18,54 @@
class CXFA_FFField : public CXFA_FFWidget, public IFWL_WidgetDelegate {
public:
CXFA_FFField(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFField();
+ ~CXFA_FFField() override;
- virtual FX_BOOL GetBBox(CFX_RectF& rtBox,
- uint32_t dwStatus,
- FX_BOOL bDrawFocus = FALSE);
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
- virtual FX_BOOL IsLoaded();
- virtual FX_BOOL LoadWidget();
- virtual void UnloadWidget();
- virtual FX_BOOL PerformLayout();
- virtual void UpdateFWL();
- uint32_t UpdateUIProperty();
- virtual FX_BOOL OnMouseEnter();
- virtual FX_BOOL OnMouseExit();
- virtual FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnLButtonDblClk(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnMouseWheel(uint32_t dwFlags,
- int16_t zDelta,
- FX_FLOAT fx,
- FX_FLOAT fy);
- virtual FX_BOOL OnRButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnRButtonDblClk(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
+ // CXFA_FFWidget
+ FX_BOOL GetBBox(CFX_RectF& rtBox,
+ uint32_t dwStatus,
+ FX_BOOL bDrawFocus = FALSE) override;
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
+ FX_BOOL IsLoaded() override;
+ FX_BOOL LoadWidget() override;
+ void UnloadWidget() override;
+ FX_BOOL PerformLayout() override;
+ FX_BOOL OnMouseEnter() override;
+ FX_BOOL OnMouseExit() override;
+ FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnLButtonDblClk(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnMouseWheel(uint32_t dwFlags,
+ int16_t zDelta,
+ FX_FLOAT fx,
+ FX_FLOAT fy) override;
+ FX_BOOL OnRButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnRButtonDblClk(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+
+ FX_BOOL OnSetFocus(CXFA_FFWidget* pOldWidget) override;
+ FX_BOOL OnKillFocus(CXFA_FFWidget* pNewWidget) override;
+ FX_BOOL OnKeyDown(uint32_t dwKeyCode, uint32_t dwFlags) override;
+ FX_BOOL OnKeyUp(uint32_t dwKeyCode, uint32_t dwFlags) override;
+ FX_BOOL OnChar(uint32_t dwChar, uint32_t dwFlags) override;
+ FWL_WidgetHit OnHitTest(FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnSetCursor(FX_FLOAT fx, FX_FLOAT fy) override;
- virtual FX_BOOL OnSetFocus(CXFA_FFWidget* pOldWidget);
- virtual FX_BOOL OnKillFocus(CXFA_FFWidget* pNewWidget);
- virtual FX_BOOL OnKeyDown(uint32_t dwKeyCode, uint32_t dwFlags);
- virtual FX_BOOL OnKeyUp(uint32_t dwKeyCode, uint32_t dwFlags);
- virtual FX_BOOL OnChar(uint32_t dwChar, uint32_t dwFlags);
- virtual FWL_WidgetHit OnHitTest(FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnSetCursor(FX_FLOAT fx, FX_FLOAT fy);
+ // IFWL_WidgetDelegate
+ void OnProcessMessage(CFWL_Message* pMessage) override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
+ void OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL) override;
+
+ void UpdateFWL();
+ uint32_t UpdateUIProperty();
protected:
- virtual FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy);
+ FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy) override;
+
virtual void SetFWLRect();
void SetFWLThemeProvider();
CFWL_Widget* GetNormalWidget() { return m_pNormalWidget; }
@@ -84,13 +93,6 @@ class CXFA_FFField : public CXFA_FFWidget, public IFWL_WidgetDelegate {
int32_t iCapPlacement);
void SetEditScrollOffset();
- public:
- virtual void OnProcessMessage(CFWL_Message* pMessage);
- virtual void OnProcessEvent(CFWL_Event* pEvent);
- virtual void OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
-
- protected:
CFWL_Widget* m_pNormalWidget;
CFX_RectF m_rtUI;
CFX_RectF m_rtCaption;
diff --git a/xfa/fxfa/app/xfa_ffimage.h b/xfa/fxfa/app/xfa_ffimage.h
index 7bbeafc1ac..8771bde2fd 100644
--- a/xfa/fxfa/app/xfa_ffimage.h
+++ b/xfa/fxfa/app/xfa_ffimage.h
@@ -12,14 +12,16 @@
class CXFA_FFImage : public CXFA_FFDraw {
public:
CXFA_FFImage(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFImage();
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
- virtual FX_BOOL IsLoaded();
- virtual FX_BOOL LoadWidget();
- virtual void UnloadWidget();
+ ~CXFA_FFImage() override;
+
+ // CXFA_FFWidget
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
+ FX_BOOL IsLoaded() override;
+ FX_BOOL LoadWidget() override;
+ void UnloadWidget() override;
};
#endif // XFA_FXFA_APP_XFA_FFIMAGE_H_
diff --git a/xfa/fxfa/app/xfa_ffimageedit.h b/xfa/fxfa/app/xfa_ffimageedit.h
index fb3e21e19f..5749d52c02 100644
--- a/xfa/fxfa/app/xfa_ffimageedit.h
+++ b/xfa/fxfa/app/xfa_ffimageedit.h
@@ -12,24 +12,26 @@
class CXFA_FFImageEdit : public CXFA_FFField {
public:
CXFA_FFImageEdit(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFImageEdit();
-
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
- virtual FX_BOOL LoadWidget();
- virtual void UnloadWidget();
- virtual FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual void OnProcessMessage(CFWL_Message* pMessage);
- virtual void OnProcessEvent(CFWL_Event* pEvent);
- virtual void OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
+ ~CXFA_FFImageEdit() override;
+
+ // CXFA_FFField
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
+ FX_BOOL LoadWidget() override;
+ void UnloadWidget() override;
+ FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ void OnProcessMessage(CFWL_Message* pMessage) override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
+ void OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL) override;
protected:
- virtual void SetFWLRect();
- virtual FX_BOOL UpdateFWLData();
- virtual FX_BOOL CommitData();
+ void SetFWLRect() override;
+ FX_BOOL UpdateFWLData() override;
+ FX_BOOL CommitData() override;
+
IFWL_WidgetDelegate* m_pOldDelegate;
};
diff --git a/xfa/fxfa/app/xfa_ffpageview.cpp b/xfa/fxfa/app/xfa_ffpageview.cpp
index ce30d199d5..aef7a30226 100644
--- a/xfa/fxfa/app/xfa_ffpageview.cpp
+++ b/xfa/fxfa/app/xfa_ffpageview.cpp
@@ -432,3 +432,7 @@ CXFA_FFWidget* CXFA_FFTabOrderPageWidgetIterator::GetWidget(
}
return NULL;
}
+
+CXFA_TabParam::CXFA_TabParam() : m_pWidget(NULL) {}
+
+CXFA_TabParam::~CXFA_TabParam() {}
diff --git a/xfa/fxfa/app/xfa_ffpath.h b/xfa/fxfa/app/xfa_ffpath.h
index 8152810c74..a56843dbdd 100644
--- a/xfa/fxfa/app/xfa_ffpath.h
+++ b/xfa/fxfa/app/xfa_ffpath.h
@@ -12,11 +12,13 @@
class CXFA_FFLine : public CXFA_FFDraw {
public:
CXFA_FFLine(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFLine();
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
+ ~CXFA_FFLine() override;
+
+ // CXFA_FFWidget
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
private:
void GetRectFromHand(CFX_RectF& rect, int32_t iHand, FX_FLOAT fLineWidth);
@@ -24,20 +26,25 @@ class CXFA_FFLine : public CXFA_FFDraw {
class CXFA_FFArc : public CXFA_FFDraw {
public:
CXFA_FFArc(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFArc();
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
+ ~CXFA_FFArc() override;
+
+ // CXFA_FFWidget
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
};
+
class CXFA_FFRectangle : public CXFA_FFDraw {
public:
CXFA_FFRectangle(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFRectangle();
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
+ ~CXFA_FFRectangle() override;
+
+ // CXFA_FFWidget
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
};
#endif // XFA_FXFA_APP_XFA_FFPATH_H_
diff --git a/xfa/fxfa/app/xfa_ffpushbutton.h b/xfa/fxfa/app/xfa_ffpushbutton.h
index 96cf785eb0..3bd37df466 100644
--- a/xfa/fxfa/app/xfa_ffpushbutton.h
+++ b/xfa/fxfa/app/xfa_ffpushbutton.h
@@ -19,19 +19,21 @@ class CXFA_TextProvider;
class CXFA_FFPushButton : public CXFA_FFField {
public:
CXFA_FFPushButton(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFPushButton();
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
- virtual FX_BOOL LoadWidget();
- virtual void UnloadWidget();
- virtual FX_BOOL PerformLayout();
- virtual void UpdateWidgetProperty();
- virtual void OnProcessMessage(CFWL_Message* pMessage);
- virtual void OnProcessEvent(CFWL_Event* pEvent);
- virtual void OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
+ ~CXFA_FFPushButton() override;
+
+ // CXFA_FFField
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
+ FX_BOOL LoadWidget() override;
+ void UnloadWidget() override;
+ FX_BOOL PerformLayout() override;
+ void UpdateWidgetProperty() override;
+ void OnProcessMessage(CFWL_Message* pMessage) override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
+ void OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL) override;
protected:
void LoadHighlightCaption();
@@ -40,6 +42,7 @@ class CXFA_FFPushButton : public CXFA_FFField {
FX_FLOAT GetLineWidth();
FX_ARGB GetLineColor();
FX_ARGB GetFillColor();
+
CXFA_TextLayout* m_pRolloverTextLayout;
CXFA_TextLayout* m_pDownTextLayout;
CXFA_TextProvider* m_pDownProvider;
diff --git a/xfa/fxfa/app/xfa_ffsignature.h b/xfa/fxfa/app/xfa_ffsignature.h
index 01ece76c4f..7291b42f0d 100644
--- a/xfa/fxfa/app/xfa_ffsignature.h
+++ b/xfa/fxfa/app/xfa_ffsignature.h
@@ -12,32 +12,33 @@
class CXFA_FFSignature final : public CXFA_FFField {
public:
CXFA_FFSignature(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFSignature();
+ ~CXFA_FFSignature() override;
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
- virtual FX_BOOL LoadWidget();
- virtual FX_BOOL OnMouseEnter();
- virtual FX_BOOL OnMouseExit();
- virtual FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnLButtonDblClk(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnMouseWheel(uint32_t dwFlags,
- int16_t zDelta,
- FX_FLOAT fx,
- FX_FLOAT fy);
- virtual FX_BOOL OnRButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnRButtonDblClk(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
+ // CXFA_FFField
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
+ FX_BOOL LoadWidget() override;
+ FX_BOOL OnMouseEnter() override;
+ FX_BOOL OnMouseExit() override;
+ FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnLButtonDblClk(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnMouseWheel(uint32_t dwFlags,
+ int16_t zDelta,
+ FX_FLOAT fx,
+ FX_FLOAT fy) override;
+ FX_BOOL OnRButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnRButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnRButtonDblClk(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
- virtual FX_BOOL OnKeyDown(uint32_t dwKeyCode, uint32_t dwFlags);
- virtual FX_BOOL OnKeyUp(uint32_t dwKeyCode, uint32_t dwFlags);
- virtual FX_BOOL OnChar(uint32_t dwChar, uint32_t dwFlags);
- virtual FWL_WidgetHit OnHitTest(FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnSetCursor(FX_FLOAT fx, FX_FLOAT fy);
+ FX_BOOL OnKeyDown(uint32_t dwKeyCode, uint32_t dwFlags) override;
+ FX_BOOL OnKeyUp(uint32_t dwKeyCode, uint32_t dwFlags) override;
+ FX_BOOL OnChar(uint32_t dwChar, uint32_t dwFlags) override;
+ FWL_WidgetHit OnHitTest(FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnSetCursor(FX_FLOAT fx, FX_FLOAT fy) override;
};
#endif // XFA_FXFA_APP_XFA_FFSIGNATURE_H_
diff --git a/xfa/fxfa/app/xfa_ffsubform.h b/xfa/fxfa/app/xfa_ffsubform.h
index fd3da98670..6607edf23b 100644
--- a/xfa/fxfa/app/xfa_ffsubform.h
+++ b/xfa/fxfa/app/xfa_ffsubform.h
@@ -13,7 +13,7 @@
class CXFA_FFSubForm : public CXFA_FFWidget {
public:
CXFA_FFSubForm(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFSubForm();
+ ~CXFA_FFSubForm() override;
};
#endif // XFA_FXFA_APP_XFA_FFSUBFORM_H_
diff --git a/xfa/fxfa/app/xfa_fftext.h b/xfa/fxfa/app/xfa_fftext.h
index f505ddb30e..f48840f709 100644
--- a/xfa/fxfa/app/xfa_fftext.h
+++ b/xfa/fxfa/app/xfa_fftext.h
@@ -12,20 +12,22 @@
class CXFA_FFText : public CXFA_FFDraw {
public:
CXFA_FFText(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFText();
- virtual FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- virtual FWL_WidgetHit OnHitTest(FX_FLOAT fx, FX_FLOAT fy);
- virtual void RenderWidget(CFX_Graphics* pGS,
- CFX_Matrix* pMatrix = NULL,
- uint32_t dwStatus = 0,
- int32_t iRotate = 0);
- virtual FX_BOOL IsLoaded();
- virtual FX_BOOL PerformLayout();
+ ~CXFA_FFText() override;
+
+ // CXFA_FFWidget
+ FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
+ FWL_WidgetHit OnHitTest(FX_FLOAT fx, FX_FLOAT fy) override;
+ void RenderWidget(CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix = NULL,
+ uint32_t dwStatus = 0,
+ int32_t iRotate = 0) override;
+ FX_BOOL IsLoaded() override;
+ FX_BOOL PerformLayout() override;
private:
- virtual const FX_WCHAR* GetLinkURLAtPoint(FX_FLOAT fx, FX_FLOAT fy);
+ const FX_WCHAR* GetLinkURLAtPoint(FX_FLOAT fx, FX_FLOAT fy);
void FWLToClient(FX_FLOAT& fx, FX_FLOAT& fy);
};
diff --git a/xfa/fxfa/app/xfa_fftextedit.cpp b/xfa/fxfa/app/xfa_fftextedit.cpp
index 171fe8dd36..fd2abe7aba 100644
--- a/xfa/fxfa/app/xfa_fftextedit.cpp
+++ b/xfa/fxfa/app/xfa_fftextedit.cpp
@@ -8,7 +8,6 @@
#include <vector>
-#include "xfa/fwl/basewidget/ifwl_datetimepicker.h"
#include "xfa/fwl/basewidget/ifwl_edit.h"
#include "xfa/fwl/core/cfwl_message.h"
#include "xfa/fwl/core/fwl_noteimp.h"
diff --git a/xfa/fxfa/app/xfa_fftextedit.h b/xfa/fxfa/app/xfa_fftextedit.h
index 9b73577aab..d7c6667435 100644
--- a/xfa/fxfa/app/xfa_fftextedit.h
+++ b/xfa/fxfa/app/xfa_fftextedit.h
@@ -16,7 +16,7 @@ class CXFA_FFTextEdit : public CXFA_FFField {
CXFA_FFTextEdit(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
~CXFA_FFTextEdit() override;
- // CXFA_FFField:
+ // CXFA_FFField
FX_BOOL LoadWidget() override;
void UpdateWidgetProperty() override;
FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
@@ -42,8 +42,6 @@ class CXFA_FFTextEdit : public CXFA_FFField {
std::vector<CFX_ByteString>& sSuggest) override;
FX_BOOL ReplaceSpellCheckWord(CFX_PointF pointf,
const CFX_ByteStringC& bsReplace) override;
-
- // IFWL_WidgetDelegate:
void OnProcessMessage(CFWL_Message* pMessage) override;
void OnProcessEvent(CFWL_Event* pEvent) override;
void OnDrawWidget(CFX_Graphics* pGraphics,
@@ -58,10 +56,11 @@ class CXFA_FFTextEdit : public CXFA_FFField {
std::vector<CFX_ByteString>& sSuggest);
protected:
- uint32_t GetAlignment();
FX_BOOL CommitData() override;
FX_BOOL UpdateFWLData() override;
FX_BOOL IsDataChanged() override;
+
+ uint32_t GetAlignment();
void ValidateNumberField(const CFX_WideString& wsText);
IFWL_WidgetDelegate* m_pOldDelegate;
@@ -70,69 +69,75 @@ class CXFA_FFTextEdit : public CXFA_FFField {
class CXFA_FFNumericEdit : public CXFA_FFTextEdit {
public:
CXFA_FFNumericEdit(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFNumericEdit();
- virtual FX_BOOL LoadWidget();
- virtual void UpdateWidgetProperty();
- virtual void OnProcessEvent(CFWL_Event* pEvent);
+ ~CXFA_FFNumericEdit() override;
+
+ // CXFA_FFTextEdit
+ FX_BOOL LoadWidget() override;
+ void UpdateWidgetProperty() override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
public:
FX_BOOL OnValidate(IFWL_Widget* pWidget, CFX_WideString& wsText);
};
+
class CXFA_FFPasswordEdit : public CXFA_FFTextEdit {
public:
CXFA_FFPasswordEdit(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFPasswordEdit();
- virtual FX_BOOL LoadWidget();
- virtual void UpdateWidgetProperty();
+ ~CXFA_FFPasswordEdit() override;
+
+ // CXFA_FFTextEdit
+ FX_BOOL LoadWidget() override;
+ void UpdateWidgetProperty() override;
protected:
};
+
enum XFA_DATETIMETYPE {
XFA_DATETIMETYPE_Date = 0,
XFA_DATETIMETYPE_Time,
XFA_DATETIMETYPE_DateAndTime
};
+
class CXFA_FFDateTimeEdit : public CXFA_FFTextEdit {
public:
CXFA_FFDateTimeEdit(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFDateTimeEdit();
-
- virtual FX_BOOL GetBBox(CFX_RectF& rtBox,
- uint32_t dwStatus,
- FX_BOOL bDrawFocus = FALSE);
- virtual FX_BOOL LoadWidget();
- virtual void UpdateWidgetProperty();
-
- virtual FX_BOOL CanUndo();
- virtual FX_BOOL CanRedo();
- virtual FX_BOOL Undo();
- virtual FX_BOOL Redo();
-
- virtual FX_BOOL CanCopy();
- virtual FX_BOOL CanCut();
- virtual FX_BOOL CanPaste();
- virtual FX_BOOL CanSelectAll();
- virtual FX_BOOL Copy(CFX_WideString& wsCopy);
- virtual FX_BOOL Cut(CFX_WideString& wsCut);
- virtual FX_BOOL Paste(const CFX_WideString& wsPaste);
- virtual FX_BOOL SelectAll();
- virtual FX_BOOL Delete();
- virtual FX_BOOL DeSelect();
+ ~CXFA_FFDateTimeEdit() override;
- protected:
- uint32_t GetAlignment();
+ // CXFA_FFTextEdit
+ FX_BOOL GetBBox(CFX_RectF& rtBox,
+ uint32_t dwStatus,
+ FX_BOOL bDrawFocus = FALSE) override;
+ FX_BOOL LoadWidget() override;
+ void UpdateWidgetProperty() override;
- virtual FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL CommitData();
- virtual FX_BOOL UpdateFWLData();
- virtual FX_BOOL IsDataChanged();
+ FX_BOOL CanUndo() override;
+ FX_BOOL CanRedo() override;
+ FX_BOOL Undo() override;
+ FX_BOOL Redo() override;
+ FX_BOOL CanCopy() override;
+ FX_BOOL CanCut() override;
+ FX_BOOL CanPaste() override;
+ FX_BOOL CanSelectAll() override;
+ FX_BOOL Copy(CFX_WideString& wsCopy) override;
+ FX_BOOL Cut(CFX_WideString& wsCut) override;
+ FX_BOOL Paste(const CFX_WideString& wsPaste) override;
+ FX_BOOL SelectAll() override;
+ FX_BOOL Delete() override;
+ FX_BOOL DeSelect() override;
+ void OnProcessEvent(CFWL_Event* pEvent) override;
- public:
void OnSelectChanged(IFWL_Widget* pWidget,
int32_t iYear,
int32_t iMonth,
int32_t iDay);
- virtual void OnProcessEvent(CFWL_Event* pEvent);
+
+ protected:
+ FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy) override;
+ FX_BOOL CommitData() override;
+ FX_BOOL UpdateFWLData() override;
+ FX_BOOL IsDataChanged() override;
+
+ uint32_t GetAlignment();
};
#endif // XFA_FXFA_APP_XFA_FFTEXTEDIT_H_
diff --git a/xfa/fxfa/app/xfa_ffwidget.cpp b/xfa/fxfa/app/xfa_ffwidget.cpp
index fb4dc8ea6b..7d4116933f 100644
--- a/xfa/fxfa/app/xfa_ffwidget.cpp
+++ b/xfa/fxfa/app/xfa_ffwidget.cpp
@@ -95,6 +95,7 @@ FX_BOOL CXFA_FFWidget::GetBBox(CFX_RectF& rtBox,
CXFA_WidgetAcc* CXFA_FFWidget::GetDataAcc() {
return m_pDataAcc;
}
+
FX_BOOL CXFA_FFWidget::GetToolTip(CFX_WideString& wsToolTip) {
if (CXFA_Assist assist = m_pDataAcc->GetAssist()) {
if (CXFA_ToolTip toolTip = assist.GetToolTip()) {
@@ -260,6 +261,62 @@ FWL_WidgetHit CXFA_FFWidget::OnHitTest(FX_FLOAT fx, FX_FLOAT fy) {
FX_BOOL CXFA_FFWidget::OnSetCursor(FX_FLOAT fx, FX_FLOAT fy) {
return FALSE;
}
+FX_BOOL CXFA_FFWidget::CanUndo() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::CanRedo() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::Undo() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::Redo() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::CanCopy() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::CanCut() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::CanPaste() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::CanSelectAll() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::CanDelete() {
+ return CanCut();
+}
+FX_BOOL CXFA_FFWidget::CanDeSelect() {
+ return CanCopy();
+}
+FX_BOOL CXFA_FFWidget::Copy(CFX_WideString& wsCopy) {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::Cut(CFX_WideString& wsCut) {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::Paste(const CFX_WideString& wsPaste) {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::SelectAll() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::Delete() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::DeSelect() {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::GetSuggestWords(CFX_PointF pointf,
+ std::vector<CFX_ByteString>& sSuggest) {
+ return FALSE;
+}
+FX_BOOL CXFA_FFWidget::ReplaceSpellCheckWord(CFX_PointF pointf,
+ const CFX_ByteStringC& bsReplace) {
+ return FALSE;
+}
void CXFA_FFWidget::Rotate2Normal(FX_FLOAT& fx, FX_FLOAT& fy) {
CFX_Matrix mt;
GetRotateMatrix(mt);
@@ -379,6 +436,9 @@ FX_BOOL CXFA_FFWidget::PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy) {
CXFA_FFDocView* CXFA_FFWidget::GetDocView() {
return m_pDocView;
}
+void CXFA_FFWidget::SetDocView(CXFA_FFDocView* pDocView) {
+ m_pDocView = pDocView;
+}
CXFA_FFDoc* CXFA_FFWidget::GetDoc() {
return m_pDocView->GetDoc();
}
@@ -1986,3 +2046,9 @@ void XFA_DrawBox(CXFA_Box box,
XFA_BOX_Fill(box, strokes, pGS, rtWidget, pMatrix, dwFlags);
XFA_BOX_Stroke(box, strokes, pGS, rtWidget, pMatrix, dwFlags);
}
+
+CXFA_CalcData::CXFA_CalcData() : m_iRefCount(0) {}
+
+CXFA_CalcData::~CXFA_CalcData() {
+ m_Globals.RemoveAll();
+}
diff --git a/xfa/fxfa/app/xfa_ffwidgetacc.h b/xfa/fxfa/app/xfa_ffwidgetacc.h
index 97514b78db..5f7aec72d9 100644
--- a/xfa/fxfa/app/xfa_ffwidgetacc.h
+++ b/xfa/fxfa/app/xfa_ffwidgetacc.h
@@ -16,6 +16,7 @@ enum XFA_TEXTPROVIDERTYPE {
XFA_TEXTPROVIDERTYPE_Rollover,
XFA_TEXTPROVIDERTYPE_Down,
};
+
class CXFA_TextProvider {
public:
CXFA_TextProvider(CXFA_WidgetAcc* pWidgetAcc,
diff --git a/xfa/fxfa/app/xfa_fontmgr.cpp b/xfa/fxfa/app/xfa_fontmgr.cpp
index f50bf5bf86..67f96c4e18 100644
--- a/xfa/fxfa/app/xfa_fontmgr.cpp
+++ b/xfa/fxfa/app/xfa_fontmgr.cpp
@@ -1738,6 +1738,8 @@ const XFA_FONTINFO* XFA_GetFontINFOByFontName(
return pFontInfo;
}
+CXFA_DefFontMgr::CXFA_DefFontMgr() {}
+
CXFA_DefFontMgr::~CXFA_DefFontMgr() {
for (int32_t i = 0; i < m_CacheFonts.GetSize(); i++)
m_CacheFonts[i]->Release();
diff --git a/xfa/fxfa/app/xfa_fwltheme.cpp b/xfa/fxfa/app/xfa_fwltheme.cpp
index e2e1b29c08..0706988de8 100644
--- a/xfa/fxfa/app/xfa_fwltheme.cpp
+++ b/xfa/fxfa/app/xfa_fwltheme.cpp
@@ -120,6 +120,16 @@ uint32_t CXFA_FWLTheme::SetThemeID(IFWL_Widget* pWidget,
return 0;
}
+FWL_Error CXFA_FWLTheme::GetThemeMatrix(IFWL_Widget* pWidget,
+ CFX_Matrix& matrix) {
+ return FWL_Error::Succeeded;
+}
+
+FWL_Error CXFA_FWLTheme::SetThemeMatrix(IFWL_Widget* pWidget,
+ const CFX_Matrix& matrix) {
+ return FWL_Error::Succeeded;
+}
+
FX_BOOL CXFA_FWLTheme::DrawBackground(CFWL_ThemeBackground* pParams) {
return GetTheme(pParams->m_pWidget)->DrawBackground(pParams);
}
@@ -345,6 +355,11 @@ void* CXFA_FWLTheme::GetCapacity(CFWL_ThemePart* pThemePart,
FX_BOOL CXFA_FWLTheme::IsCustomizedLayout(IFWL_Widget* pWidget) {
return GetTheme(pWidget)->IsCustomizedLayout(pWidget);
}
+
+FWL_Error CXFA_FWLTheme::GetPartRect(CFWL_ThemePart* pThemePart,
+ CFX_RectF& rtPart) {
+ return FWL_Error::Succeeded;
+}
FWL_Error CXFA_FWLTheme::GetPartRect(CFWL_ThemePart* pThemePart) {
CFX_RectF rect;
return GetTheme(pThemePart->m_pWidget)->GetPartRect(pThemePart, rect);
diff --git a/xfa/fxfa/app/xfa_fwltheme.h b/xfa/fxfa/app/xfa_fwltheme.h
index fdd12c37ba..63a4247337 100644
--- a/xfa/fxfa/app/xfa_fwltheme.h
+++ b/xfa/fxfa/app/xfa_fwltheme.h
@@ -42,22 +42,15 @@ class CXFA_FWLTheme final : public IFWL_ThemeProvider {
uint32_t SetThemeID(IFWL_Widget* pWidget,
uint32_t dwThemeID,
FX_BOOL bChildren = TRUE) override;
- FWL_Error GetThemeMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) override {
- return FWL_Error::Succeeded;
- }
+ FWL_Error GetThemeMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) override;
FWL_Error SetThemeMatrix(IFWL_Widget* pWidget,
- const CFX_Matrix& matrix) override {
- return FWL_Error::Succeeded;
- }
+ const CFX_Matrix& matrix) override;
FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams) override;
FX_BOOL DrawText(CFWL_ThemeText* pParams) override;
void* GetCapacity(CFWL_ThemePart* pThemePart,
CFWL_WidgetCapacity dwCapacity) override;
FX_BOOL IsCustomizedLayout(IFWL_Widget* pWidget) override;
- FWL_Error GetPartRect(CFWL_ThemePart* pThemePart,
- CFX_RectF& rtPart) override {
- return FWL_Error::Succeeded;
- }
+ FWL_Error GetPartRect(CFWL_ThemePart* pThemePart, CFX_RectF& rtPart) override;
FX_BOOL IsInPart(CFWL_ThemePart* pThemePart,
FX_FLOAT fx,
FX_FLOAT fy) override;
@@ -90,7 +83,9 @@ class CXFA_FWLTheme final : public IFWL_ThemeProvider {
class CXFA_FWLCheckBoxTP : public CFWL_CheckBoxTP {
public:
CXFA_FWLCheckBoxTP();
- virtual FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams);
+
+ // CFWL_CheckBoxTP
+ FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams) override;
protected:
void DrawCheckSign(IFWL_Widget* pWidget,
@@ -102,10 +97,10 @@ class CXFA_FWLCheckBoxTP : public CFWL_CheckBoxTP {
class CXFA_FWLEditTP : public CFWL_EditTP {
public:
CXFA_FWLEditTP();
- virtual ~CXFA_FWLEditTP();
+ ~CXFA_FWLEditTP() override;
- public:
- virtual FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams);
+ // CFWL_EditTP
+ FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams) override;
};
#endif // XFA_FXFA_APP_XFA_FWLTHEME_H_
diff --git a/xfa/fxfa/app/xfa_textlayout.cpp b/xfa/fxfa/app/xfa_textlayout.cpp
index 4e23fc39f9..8b2871e03c 100644
--- a/xfa/fxfa/app/xfa_textlayout.cpp
+++ b/xfa/fxfa/app/xfa_textlayout.cpp
@@ -21,6 +21,31 @@
#include "xfa/fxfa/include/xfa_ffdoc.h"
#include "xfa/fxfa/include/xfa_fontmgr.h"
+CXFA_CSSTagProvider::CXFA_CSSTagProvider()
+ : m_bTagAvailable(FALSE), m_bContent(FALSE) {}
+
+CXFA_CSSTagProvider::~CXFA_CSSTagProvider() {}
+
+XFA_TextPiece::XFA_TextPiece()
+ : pszText(nullptr), pFont(nullptr), pLinkData(nullptr) {}
+
+XFA_TextPiece::~XFA_TextPiece() {
+ if (pLinkData)
+ pLinkData->Release();
+}
+
+CXFA_TextParseContext::CXFA_TextParseContext()
+ : m_pParentStyle(nullptr),
+ m_ppMatchedDecls(nullptr),
+ m_dwMatchedDecls(0),
+ m_eDisplay(FDE_CSSDISPLAY_None) {}
+
+CXFA_TextParseContext::~CXFA_TextParseContext() {
+ if (m_pParentStyle)
+ m_pParentStyle->Release();
+ FX_Free(m_ppMatchedDecls);
+}
+
void CXFA_TextParseContext::SetDecls(const CFDE_CSSDeclaration** ppDeclArray,
int32_t iDeclCount) {
if (iDeclCount <= 0 || !ppDeclArray)
@@ -85,6 +110,22 @@ void CXFA_TextParser::InitCSSData(CXFA_TextProvider* pTextProvider) {
m_pSelector->UpdateStyleIndex(FDE_CSSMEDIATYPE_ALL);
}
}
+
+CXFA_LoaderContext::CXFA_LoaderContext()
+ : m_bSaveLineHeight(FALSE),
+ m_fWidth(0),
+ m_fHeight(0),
+ m_fLastPos(0),
+ m_fStartLineOffset(0),
+ m_iChar(0),
+ m_iTotalLines(-1),
+ m_pXMLNode(NULL),
+ m_pNode(NULL),
+ m_pParentStyle(NULL),
+ m_dwFlags(0) {}
+
+CXFA_LoaderContext::~CXFA_LoaderContext() {}
+
IFDE_CSSStyleSheet* CXFA_TextParser::LoadDefaultSheetStyle() {
static const FX_WCHAR s_pStyle[] =
L"html,body,ol,p,ul{display:block}"
@@ -1945,3 +1986,106 @@ FX_BOOL CXFA_TextLayout::ToRun(const XFA_TextPiece* pPiece, FX_RTFTEXTOBJ& tr) {
tr.iHorizontalScale = pPiece->iHorScale;
return TRUE;
}
+
+CXFA_LinkUserData::CXFA_LinkUserData(IFX_MemoryAllocator* pAllocator,
+ FX_WCHAR* pszText)
+ : m_pAllocator(pAllocator), m_dwRefCount(1), m_wsURLContent(pszText) {}
+
+CXFA_LinkUserData::~CXFA_LinkUserData() {}
+
+uint32_t CXFA_LinkUserData::Retain() {
+ return ++m_dwRefCount;
+}
+
+uint32_t CXFA_LinkUserData::Release() {
+ uint32_t dwRefCount = --m_dwRefCount;
+ if (dwRefCount <= 0)
+ FXTARGET_DeleteWith(CXFA_LinkUserData, m_pAllocator, this);
+ return dwRefCount;
+}
+
+const FX_WCHAR* CXFA_LinkUserData::GetLinkURL() {
+ return m_wsURLContent.c_str();
+}
+
+CXFA_TextUserData::CXFA_TextUserData(IFX_MemoryAllocator* pAllocator,
+ IFDE_CSSComputedStyle* pStyle)
+ : m_pStyle(pStyle),
+ m_pLinkData(nullptr),
+ m_pAllocator(pAllocator),
+ m_dwRefCount(0) {
+ ASSERT(m_pAllocator);
+ if (m_pStyle)
+ m_pStyle->Retain();
+}
+
+CXFA_TextUserData::CXFA_TextUserData(IFX_MemoryAllocator* pAllocator,
+ IFDE_CSSComputedStyle* pStyle,
+ CXFA_LinkUserData* pLinkData)
+ : m_pStyle(pStyle),
+ m_pLinkData(pLinkData),
+ m_pAllocator(pAllocator),
+ m_dwRefCount(0) {
+ ASSERT(m_pAllocator);
+ if (m_pStyle)
+ m_pStyle->Retain();
+}
+
+CXFA_TextUserData::~CXFA_TextUserData() {
+ if (m_pStyle)
+ m_pStyle->Release();
+ if (m_pLinkData)
+ m_pLinkData->Release();
+}
+
+uint32_t CXFA_TextUserData::Retain() {
+ return ++m_dwRefCount;
+}
+
+uint32_t CXFA_TextUserData::Release() {
+ uint32_t dwRefCount = --m_dwRefCount;
+ if (dwRefCount == 0)
+ FXTARGET_DeleteWith(CXFA_TextUserData, m_pAllocator, this);
+ return dwRefCount;
+}
+
+CXFA_PieceLine::CXFA_PieceLine() {}
+
+CXFA_PieceLine::~CXFA_PieceLine() {}
+
+CXFA_TextTabstopsContext::CXFA_TextTabstopsContext()
+ : m_iTabCount(0),
+ m_iTabIndex(-1),
+ m_bTabstops(FALSE),
+ m_fTabWidth(0),
+ m_fLeft(0) {}
+
+CXFA_TextTabstopsContext::~CXFA_TextTabstopsContext() {}
+
+void CXFA_TextTabstopsContext::Append(uint32_t dwAlign, FX_FLOAT fTabstops) {
+ int32_t i = 0;
+ for (i = 0; i < m_iTabCount; i++) {
+ XFA_TABSTOPS* pTabstop = m_tabstops.GetDataPtr(i);
+ if (fTabstops < pTabstop->fTabstops) {
+ break;
+ }
+ }
+ m_tabstops.InsertSpaceAt(i, 1);
+ XFA_TABSTOPS tabstop;
+ tabstop.dwAlign = dwAlign;
+ tabstop.fTabstops = fTabstops;
+ m_tabstops.SetAt(i, tabstop);
+ m_iTabCount++;
+}
+
+void CXFA_TextTabstopsContext::RemoveAll() {
+ m_tabstops.RemoveAll();
+ m_iTabCount = 0;
+}
+
+void CXFA_TextTabstopsContext::Reset() {
+ m_iTabIndex = -1;
+ m_bTabstops = FALSE;
+ m_fTabWidth = 0;
+ m_fLeft = 0;
+}
diff --git a/xfa/fxfa/app/xfa_textlayout.h b/xfa/fxfa/app/xfa_textlayout.h
index 842c6ec731..00e7209e97 100644
--- a/xfa/fxfa/app/xfa_textlayout.h
+++ b/xfa/fxfa/app/xfa_textlayout.h
@@ -12,8 +12,8 @@
#include "xfa/fde/css/fde_css.h"
#include "xfa/fde/fde_gedevice.h"
-#include "xfa/fgas/layout/fgas_rtfbreak.h"
#include "xfa/fxfa/include/xfa_ffdoc.h"
+#include "xfa/fgas/layout/fgas_rtfbreak.h"
#include "xfa/fxfa/parser/xfa_object.h"
#define XFA_LOADERCNTXTFLG_FILTERSPACE 0x001
@@ -26,12 +26,13 @@ class CXFA_TextTabstopsContext;
class CXFA_CSSTagProvider {
public:
- CXFA_CSSTagProvider() : m_bTagAvailable(FALSE), m_bContent(FALSE) {}
- ~CXFA_CSSTagProvider() {}
+ using AttributeMap = std::map<CFX_WideString, CFX_WideString>;
+
+ CXFA_CSSTagProvider();
+ ~CXFA_CSSTagProvider();
CFX_WideString GetTagName() { return m_wsTagName; }
- using AttributeMap = std::map<CFX_WideString, CFX_WideString>;
AttributeMap::iterator begin() { return m_Attributes.begin(); }
AttributeMap::iterator end() { return m_Attributes.end(); }
@@ -53,16 +54,9 @@ class CXFA_CSSTagProvider {
class CXFA_TextParseContext : public CFX_Target {
public:
- CXFA_TextParseContext()
- : m_pParentStyle(nullptr),
- m_ppMatchedDecls(nullptr),
- m_dwMatchedDecls(0),
- m_eDisplay(FDE_CSSDISPLAY_None) {}
- ~CXFA_TextParseContext() {
- if (m_pParentStyle)
- m_pParentStyle->Release();
- FX_Free(m_ppMatchedDecls);
- }
+ CXFA_TextParseContext();
+ ~CXFA_TextParseContext() override;
+
void SetDisplay(FDE_CSSDISPLAY eDisplay) { m_eDisplay = eDisplay; }
FDE_CSSDISPLAY GetDisplay() const { return m_eDisplay; }
void SetDecls(const CFDE_CSSDeclaration** ppDeclArray, int32_t iDeclCount);
@@ -70,6 +64,7 @@ class CXFA_TextParseContext : public CFX_Target {
return const_cast<const CFDE_CSSDeclaration**>(m_ppMatchedDecls);
}
uint32_t CountDecls() const { return m_dwMatchedDecls; }
+
IFDE_CSSComputedStyle* m_pParentStyle;
protected:
@@ -82,6 +77,7 @@ class CXFA_TextParser {
public:
CXFA_TextParser();
virtual ~CXFA_TextParser();
+
void Reset();
void DoParse(CFDE_XMLNode* pXMLContainer, CXFA_TextProvider* pTextProvider);
IFDE_CSSComputedStyle* CreateRootStyle(CXFA_TextProvider* pTextProvider);
@@ -143,18 +139,9 @@ class CXFA_TextParser {
class CXFA_LoaderContext {
public:
- CXFA_LoaderContext()
- : m_bSaveLineHeight(FALSE),
- m_fWidth(0),
- m_fHeight(0),
- m_fLastPos(0),
- m_fStartLineOffset(0),
- m_iChar(0),
- m_iTotalLines(-1),
- m_pXMLNode(NULL),
- m_pNode(NULL),
- m_pParentStyle(NULL),
- m_dwFlags(0) {}
+ CXFA_LoaderContext();
+ ~CXFA_LoaderContext();
+
FX_BOOL m_bSaveLineHeight;
FX_FLOAT m_fWidth;
FX_FLOAT m_fHeight;
@@ -173,21 +160,14 @@ class CXFA_LoaderContext {
class CXFA_LinkUserData : public IFX_Retainable, public CFX_Target {
public:
- CXFA_LinkUserData(IFX_MemoryAllocator* pAllocator, FX_WCHAR* pszText)
- : m_pAllocator(pAllocator), m_dwRefCount(1), m_wsURLContent(pszText) {}
-
- ~CXFA_LinkUserData() override {}
+ CXFA_LinkUserData(IFX_MemoryAllocator* pAllocator, FX_WCHAR* pszText);
+ ~CXFA_LinkUserData() override;
// IFX_Retainable:
- uint32_t Retain() override { return ++m_dwRefCount; }
- uint32_t Release() override {
- uint32_t dwRefCount = --m_dwRefCount;
- if (dwRefCount <= 0)
- FXTARGET_DeleteWith(CXFA_LinkUserData, m_pAllocator, this);
- return dwRefCount;
- }
+ uint32_t Retain() override;
+ uint32_t Release() override;
- const FX_WCHAR* GetLinkURL() { return m_wsURLContent.c_str(); }
+ const FX_WCHAR* GetLinkURL();
protected:
IFX_MemoryAllocator* m_pAllocator;
@@ -198,41 +178,15 @@ class CXFA_LinkUserData : public IFX_Retainable, public CFX_Target {
class CXFA_TextUserData : public IFX_Retainable, public CFX_Target {
public:
CXFA_TextUserData(IFX_MemoryAllocator* pAllocator,
- IFDE_CSSComputedStyle* pStyle)
- : m_pStyle(pStyle),
- m_pLinkData(nullptr),
- m_pAllocator(pAllocator),
- m_dwRefCount(0) {
- ASSERT(m_pAllocator);
- if (m_pStyle)
- m_pStyle->Retain();
- }
+ IFDE_CSSComputedStyle* pStyle);
CXFA_TextUserData(IFX_MemoryAllocator* pAllocator,
IFDE_CSSComputedStyle* pStyle,
- CXFA_LinkUserData* pLinkData)
- : m_pStyle(pStyle),
- m_pLinkData(pLinkData),
- m_pAllocator(pAllocator),
- m_dwRefCount(0) {
- ASSERT(m_pAllocator);
- if (m_pStyle)
- m_pStyle->Retain();
- }
- ~CXFA_TextUserData() override {
- if (m_pStyle)
- m_pStyle->Release();
- if (m_pLinkData)
- m_pLinkData->Release();
- }
+ CXFA_LinkUserData* pLinkData);
+ ~CXFA_TextUserData() override;
// IFX_Retainable:
- uint32_t Retain() override { return ++m_dwRefCount; }
- uint32_t Release() override {
- uint32_t dwRefCount = --m_dwRefCount;
- if (dwRefCount == 0)
- FXTARGET_DeleteWith(CXFA_TextUserData, m_pAllocator, this);
- return dwRefCount;
- }
+ uint32_t Retain() override;
+ uint32_t Release() override;
IFDE_CSSComputedStyle* m_pStyle;
CXFA_LinkUserData* m_pLinkData;
@@ -244,11 +198,8 @@ class CXFA_TextUserData : public IFX_Retainable, public CFX_Target {
class XFA_TextPiece : public CFX_Target {
public:
- XFA_TextPiece() : pszText(nullptr), pFont(nullptr), pLinkData(nullptr) {}
- ~XFA_TextPiece() override {
- if (pLinkData)
- pLinkData->Release();
- }
+ XFA_TextPiece();
+ ~XFA_TextPiece() override;
FX_WCHAR* pszText;
int32_t iChars;
@@ -269,7 +220,9 @@ typedef CFX_ArrayTemplate<XFA_TextPiece*> CXFA_PieceArray;
class CXFA_PieceLine : public CFX_Target {
public:
- CXFA_PieceLine() {}
+ CXFA_PieceLine();
+ ~CXFA_PieceLine() override;
+
CXFA_PieceArray m_textPieces;
CFX_Int32Array m_charCounts;
};
@@ -282,37 +235,13 @@ struct XFA_TABSTOPS {
class CXFA_TextTabstopsContext {
public:
- CXFA_TextTabstopsContext()
- : m_iTabCount(0),
- m_iTabIndex(-1),
- m_bTabstops(FALSE),
- m_fTabWidth(0),
- m_fLeft(0) {}
- void Append(uint32_t dwAlign, FX_FLOAT fTabstops) {
- int32_t i = 0;
- for (i = 0; i < m_iTabCount; i++) {
- XFA_TABSTOPS* pTabstop = m_tabstops.GetDataPtr(i);
- if (fTabstops < pTabstop->fTabstops) {
- break;
- }
- }
- m_tabstops.InsertSpaceAt(i, 1);
- XFA_TABSTOPS tabstop;
- tabstop.dwAlign = dwAlign;
- tabstop.fTabstops = fTabstops;
- m_tabstops.SetAt(i, tabstop);
- m_iTabCount++;
- }
- void RemoveAll() {
- m_tabstops.RemoveAll();
- m_iTabCount = 0;
- }
- void Reset() {
- m_iTabIndex = -1;
- m_bTabstops = FALSE;
- m_fTabWidth = 0;
- m_fLeft = 0;
- }
+ CXFA_TextTabstopsContext();
+ ~CXFA_TextTabstopsContext();
+
+ void Append(uint32_t dwAlign, FX_FLOAT fTabstops);
+ void RemoveAll();
+ void Reset();
+
CFX_ArrayTemplate<XFA_TABSTOPS> m_tabstops;
int32_t m_iTabCount;
int32_t m_iTabIndex;
diff --git a/xfa/fxfa/fm2js/xfa_expression.cpp b/xfa/fxfa/fm2js/xfa_expression.cpp
index 72020c3f0c..ad6acafd48 100644
--- a/xfa/fxfa/fm2js/xfa_expression.cpp
+++ b/xfa/fxfa/fm2js/xfa_expression.cpp
@@ -120,6 +120,8 @@ CXFA_FMVarExpression::CXFA_FMVarExpression(uint32_t line,
m_wsName(wsName),
m_pInit(pInit) {}
+CXFA_FMVarExpression::~CXFA_FMVarExpression() {}
+
void CXFA_FMVarExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
javascript << FX_WSTRC(L"var ");
CFX_WideString tempName(m_wsName);
@@ -170,6 +172,8 @@ CXFA_FMExpExpression::CXFA_FMExpExpression(uint32_t line,
CXFA_FMSimpleExpression* pExpression)
: CXFA_FMExpression(line, XFA_FM_EXPTYPE_EXP), m_pExpression(pExpression) {}
+CXFA_FMExpExpression::~CXFA_FMExpExpression() {}
+
void CXFA_FMExpExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
if (m_pExpression->GetOperatorToken() == TOKassign) {
m_pExpression->ToJavaScript(javascript);
@@ -246,6 +250,8 @@ CXFA_FMDoExpression::CXFA_FMDoExpression(uint32_t line,
CXFA_FMExpression* pList)
: CXFA_FMExpression(line), m_pList(pList) {}
+CXFA_FMDoExpression::~CXFA_FMDoExpression() {}
+
void CXFA_FMDoExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
m_pList->ToJavaScript(javascript);
}
@@ -263,6 +269,8 @@ CXFA_FMIfExpression::CXFA_FMIfExpression(uint32_t line,
m_pIfExpression(pIfExpression),
m_pElseExpression(pElseExpression) {}
+CXFA_FMIfExpression::~CXFA_FMIfExpression() {}
+
void CXFA_FMIfExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
javascript << FX_WSTRC(L"if (");
if (m_pExpression) {
@@ -329,6 +337,8 @@ CXFA_FMWhileExpression::CXFA_FMWhileExpression(
m_pCondition(pCondition),
m_pExpression(pExpression) {}
+CXFA_FMWhileExpression::~CXFA_FMWhileExpression() {}
+
void CXFA_FMWhileExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
javascript << FX_WSTRC(L"while (");
m_pCondition->ToJavaScript(javascript);
@@ -394,6 +404,8 @@ CXFA_FMForExpression::CXFA_FMForExpression(uint32_t line,
m_pStep(pStep),
m_pList(pList) {}
+CXFA_FMForExpression::~CXFA_FMForExpression() {}
+
void CXFA_FMForExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
javascript << FX_WSTRC(L"{\nvar ");
CFX_WideString tempVariant;
diff --git a/xfa/fxfa/fm2js/xfa_expression.h b/xfa/fxfa/fm2js/xfa_expression.h
index ff898a9c41..8134988f4e 100644
--- a/xfa/fxfa/fm2js/xfa_expression.h
+++ b/xfa/fxfa/fm2js/xfa_expression.h
@@ -63,6 +63,8 @@ class CXFA_FMVarExpression : public CXFA_FMExpression {
CXFA_FMVarExpression(uint32_t line,
const CFX_WideStringC& wsName,
CXFA_FMExpression* pInit);
+ ~CXFA_FMVarExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
void ToImpliedReturnJS(CFX_WideTextBuf&) override;
@@ -74,6 +76,8 @@ class CXFA_FMVarExpression : public CXFA_FMExpression {
class CXFA_FMExpExpression : public CXFA_FMExpression {
public:
CXFA_FMExpExpression(uint32_t line, CXFA_FMSimpleExpression* pExpression);
+ ~CXFA_FMExpExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
void ToImpliedReturnJS(CFX_WideTextBuf&) override;
@@ -99,6 +103,8 @@ class CXFA_FMBlockExpression : public CXFA_FMExpression {
class CXFA_FMDoExpression : public CXFA_FMExpression {
public:
CXFA_FMDoExpression(uint32_t line, CXFA_FMExpression* pList);
+ ~CXFA_FMDoExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
void ToImpliedReturnJS(CFX_WideTextBuf&) override;
@@ -112,6 +118,8 @@ class CXFA_FMIfExpression : public CXFA_FMExpression {
CXFA_FMSimpleExpression* pExpression,
CXFA_FMExpression* pIfExpression,
CXFA_FMExpression* pElseExpression);
+ ~CXFA_FMIfExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
void ToImpliedReturnJS(CFX_WideTextBuf&) override;
@@ -134,6 +142,8 @@ class CXFA_FMWhileExpression : public CXFA_FMLoopExpression {
CXFA_FMWhileExpression(uint32_t line,
CXFA_FMSimpleExpression* pCodition,
CXFA_FMExpression* pExpression);
+ ~CXFA_FMWhileExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
void ToImpliedReturnJS(CFX_WideTextBuf&) override;
@@ -167,6 +177,8 @@ class CXFA_FMForExpression : public CXFA_FMLoopExpression {
int32_t iDirection,
CXFA_FMSimpleExpression* pStep,
CXFA_FMExpression* pList);
+ ~CXFA_FMForExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
void ToImpliedReturnJS(CFX_WideTextBuf&) override;
diff --git a/xfa/fxfa/fm2js/xfa_fm2jscontext.h b/xfa/fxfa/fm2js/xfa_fm2jscontext.h
index eb16435f12..344c4bcda8 100644
--- a/xfa/fxfa/fm2js/xfa_fm2jscontext.h
+++ b/xfa/fxfa/fm2js/xfa_fm2jscontext.h
@@ -12,6 +12,11 @@
class CXFA_FM2JSContext : public CFXJSE_HostObject {
public:
+ CXFA_FM2JSContext(v8::Isolate* pScriptIsolate,
+ CFXJSE_Context* pScriptContext,
+ CXFA_Document* pDoc);
+ ~CXFA_FM2JSContext() override;
+
static void Abs(CFXJSE_Value* pThis,
const CFX_ByteStringC& szFuncName,
CFXJSE_Arguments& args);
@@ -439,11 +444,6 @@ class CXFA_FM2JSContext : public CFXJSE_HostObject {
CFX_WideTextBuf& wsJavascript,
CFX_WideString& wsError);
- CXFA_FM2JSContext(v8::Isolate* pScriptIsolate,
- CFXJSE_Context* pScriptContext,
- CXFA_Document* pDoc);
- ~CXFA_FM2JSContext();
-
void GlobalPropertyGetter(CFXJSE_Value* pValue);
private:
diff --git a/xfa/fxfa/fm2js/xfa_fmparse.cpp b/xfa/fxfa/fm2js/xfa_fmparse.cpp
index 5fd6c06613..ebe68b9408 100644
--- a/xfa/fxfa/fm2js/xfa_fmparse.cpp
+++ b/xfa/fxfa/fm2js/xfa_fmparse.cpp
@@ -10,6 +10,8 @@
CXFA_FMParse::CXFA_FMParse() : m_pToken(nullptr), m_pErrorInfo(0) {}
+CXFA_FMParse::~CXFA_FMParse() {}
+
int32_t CXFA_FMParse::Init(const CFX_WideStringC& wsFormcalc,
CXFA_FMErrorInfo* pErrorInfo) {
m_pErrorInfo = pErrorInfo;
diff --git a/xfa/fxfa/fm2js/xfa_fmparse.h b/xfa/fxfa/fm2js/xfa_fmparse.h
index 3c11a73572..0283edaed0 100644
--- a/xfa/fxfa/fm2js/xfa_fmparse.h
+++ b/xfa/fxfa/fm2js/xfa_fmparse.h
@@ -15,6 +15,8 @@
class CXFA_FMParse {
public:
CXFA_FMParse();
+ ~CXFA_FMParse();
+
int32_t Init(const CFX_WideStringC& wsFormcalc, CXFA_FMErrorInfo* pErrorInfo);
void NextToken();
void Check(XFA_FM_TOKEN op);
diff --git a/xfa/fxfa/fm2js/xfa_lexer.cpp b/xfa/fxfa/fm2js/xfa_lexer.cpp
index f048f42668..e480b37d4c 100644
--- a/xfa/fxfa/fm2js/xfa_lexer.cpp
+++ b/xfa/fxfa/fm2js/xfa_lexer.cpp
@@ -167,6 +167,8 @@ CXFA_FMLexer::CXFA_FMLexer(const CFX_WideStringC& wsFormCalc,
CXFA_FMErrorInfo* pErrorInfo)
: m_ptr(wsFormCalc.c_str()), m_uCurrentLine(1), m_pErrorInfo(pErrorInfo) {}
+CXFA_FMLexer::~CXFA_FMLexer() {}
+
CXFA_FMToken* CXFA_FMLexer::NextToken() {
m_pToken.reset(Scan());
return m_pToken.get();
diff --git a/xfa/fxfa/fm2js/xfa_lexer.h b/xfa/fxfa/fm2js/xfa_lexer.h
index c21c00255a..a910d1790c 100644
--- a/xfa/fxfa/fm2js/xfa_lexer.h
+++ b/xfa/fxfa/fm2js/xfa_lexer.h
@@ -104,6 +104,8 @@ class CXFA_FMToken {
class CXFA_FMLexer {
public:
CXFA_FMLexer(const CFX_WideStringC& wsFormcalc, CXFA_FMErrorInfo* pErrorInfo);
+ ~CXFA_FMLexer();
+
CXFA_FMToken* NextToken();
uint32_t Number(CXFA_FMToken* t, const FX_WCHAR* p, const FX_WCHAR*& pEnd);
uint32_t String(CXFA_FMToken* t, const FX_WCHAR* p, const FX_WCHAR*& pEnd);
diff --git a/xfa/fxfa/fm2js/xfa_simpleexpression.cpp b/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
index e77623de3a..47bb9df235 100644
--- a/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
+++ b/xfa/fxfa/fm2js/xfa_simpleexpression.cpp
@@ -137,6 +137,8 @@ CXFA_FMNumberExpression::CXFA_FMNumberExpression(uint32_t line,
CFX_WideStringC wsNumber)
: CXFA_FMSimpleExpression(line, TOKnumber), m_wsNumber(wsNumber) {}
+CXFA_FMNumberExpression::~CXFA_FMNumberExpression() {}
+
void CXFA_FMNumberExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
javascript << m_wsNumber;
}
@@ -145,6 +147,8 @@ CXFA_FMStringExpression::CXFA_FMStringExpression(uint32_t line,
CFX_WideStringC wsString)
: CXFA_FMSimpleExpression(line, TOKstring), m_wsString(wsString) {}
+CXFA_FMStringExpression::~CXFA_FMStringExpression() {}
+
void CXFA_FMStringExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
CFX_WideString tempStr(m_wsString);
if (tempStr.GetLength() > 2) {
@@ -177,6 +181,8 @@ CXFA_FMIdentifierExpressionn::CXFA_FMIdentifierExpressionn(
: CXFA_FMSimpleExpression(line, TOKidentifier),
m_wsIdentifier(wsIdentifier) {}
+CXFA_FMIdentifierExpressionn::~CXFA_FMIdentifierExpressionn() {}
+
void CXFA_FMIdentifierExpressionn::ToJavaScript(CFX_WideTextBuf& javascript) {
CFX_WideString tempStr(m_wsIdentifier);
if (tempStr == FX_WSTRC(L"$")) {
@@ -206,6 +212,8 @@ CXFA_FMUnaryExpression::CXFA_FMUnaryExpression(uint32_t line,
CXFA_FMSimpleExpression* pExp)
: CXFA_FMSimpleExpression(line, op), m_pExp(pExp) {}
+CXFA_FMUnaryExpression::~CXFA_FMUnaryExpression() {}
+
void CXFA_FMUnaryExpression::ToJavaScript(CFX_WideTextBuf& javascript) {}
CXFA_FMBinExpression::CXFA_FMBinExpression(uint32_t line,
@@ -214,6 +222,8 @@ CXFA_FMBinExpression::CXFA_FMBinExpression(uint32_t line,
CXFA_FMSimpleExpression* pExp2)
: CXFA_FMSimpleExpression(line, op), m_pExp1(pExp1), m_pExp2(pExp2) {}
+CXFA_FMBinExpression::~CXFA_FMBinExpression() {}
+
void CXFA_FMBinExpression::ToJavaScript(CFX_WideTextBuf& javascript) {}
CXFA_FMAssignExpression::CXFA_FMAssignExpression(uint32_t line,
@@ -616,6 +626,8 @@ CXFA_FMDotAccessorExpression::CXFA_FMDotAccessorExpression(
: CXFA_FMBinExpression(line, op, pAccessor, pIndexExp),
m_wsIdentifier(wsIdentifier) {}
+CXFA_FMDotAccessorExpression::~CXFA_FMDotAccessorExpression() {}
+
void CXFA_FMDotAccessorExpression::ToJavaScript(CFX_WideTextBuf& javascript) {
javascript << gs_lpStrExpFuncName[DOT];
javascript << FX_WSTRC(L"(");
@@ -692,6 +704,8 @@ CXFA_FMDotDotAccessorExpression::CXFA_FMDotDotAccessorExpression(
: CXFA_FMBinExpression(line, op, pAccessor, pIndexExp),
m_wsIdentifier(wsIdentifier) {}
+CXFA_FMDotDotAccessorExpression::~CXFA_FMDotDotAccessorExpression() {}
+
void CXFA_FMDotDotAccessorExpression::ToJavaScript(
CFX_WideTextBuf& javascript) {
javascript << gs_lpStrExpFuncName[DOTDOT];
diff --git a/xfa/fxfa/fm2js/xfa_simpleexpression.h b/xfa/fxfa/fm2js/xfa_simpleexpression.h
index 2530128846..27086f4cc4 100644
--- a/xfa/fxfa/fm2js/xfa_simpleexpression.h
+++ b/xfa/fxfa/fm2js/xfa_simpleexpression.h
@@ -79,7 +79,7 @@ class CXFA_FMNullExpression : public CXFA_FMSimpleExpression {
class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression {
public:
CXFA_FMNumberExpression(uint32_t line, CFX_WideStringC wsNumber);
- ~CXFA_FMNumberExpression() override {}
+ ~CXFA_FMNumberExpression() override;
void ToJavaScript(CFX_WideTextBuf& javascript) override;
private:
@@ -89,7 +89,7 @@ class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression {
class CXFA_FMStringExpression : public CXFA_FMSimpleExpression {
public:
CXFA_FMStringExpression(uint32_t line, CFX_WideStringC wsString);
- ~CXFA_FMStringExpression() override {}
+ ~CXFA_FMStringExpression() override;
void ToJavaScript(CFX_WideTextBuf& javascript) override;
private:
@@ -99,7 +99,7 @@ class CXFA_FMStringExpression : public CXFA_FMSimpleExpression {
class CXFA_FMIdentifierExpressionn : public CXFA_FMSimpleExpression {
public:
CXFA_FMIdentifierExpressionn(uint32_t line, CFX_WideStringC wsIdentifier);
- ~CXFA_FMIdentifierExpressionn() override {}
+ ~CXFA_FMIdentifierExpressionn() override;
void ToJavaScript(CFX_WideTextBuf& javascript) override;
private:
@@ -111,6 +111,8 @@ class CXFA_FMUnaryExpression : public CXFA_FMSimpleExpression {
CXFA_FMUnaryExpression(uint32_t line,
XFA_FM_TOKEN op,
CXFA_FMSimpleExpression* pExp);
+ ~CXFA_FMUnaryExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
protected:
@@ -123,6 +125,8 @@ class CXFA_FMBinExpression : public CXFA_FMSimpleExpression {
XFA_FM_TOKEN op,
CXFA_FMSimpleExpression* pExp1,
CXFA_FMSimpleExpression* pExp2);
+ ~CXFA_FMBinExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
protected:
@@ -246,7 +250,7 @@ class CXFA_FMDotAccessorExpression : public CXFA_FMBinExpression {
XFA_FM_TOKEN op,
CFX_WideStringC wsIdentifier,
CXFA_FMSimpleExpression* pIndexExp);
- ~CXFA_FMDotAccessorExpression() override {}
+ ~CXFA_FMDotAccessorExpression() override;
void ToJavaScript(CFX_WideTextBuf& javascript) override;
private:
@@ -274,7 +278,8 @@ class CXFA_FMDotDotAccessorExpression : public CXFA_FMBinExpression {
XFA_FM_TOKEN op,
CFX_WideStringC wsIdentifier,
CXFA_FMSimpleExpression* pIndexExp);
- ~CXFA_FMDotDotAccessorExpression() override {}
+ ~CXFA_FMDotDotAccessorExpression() override;
+
void ToJavaScript(CFX_WideTextBuf& javascript) override;
private:
diff --git a/xfa/fxfa/include/fxfa.h b/xfa/fxfa/include/fxfa.h
index c62e916a97..4541cba9c2 100644
--- a/xfa/fxfa/include/fxfa.h
+++ b/xfa/fxfa/include/fxfa.h
@@ -182,10 +182,8 @@ class IXFA_AppProvider {
*/
virtual void SetAppType(const CFX_WideStringC& wsAppType) = 0;
virtual void GetAppType(CFX_WideString& wsAppType) = 0;
- virtual void SetFoxitAppType(const CFX_WideStringC& wsFoxitAppType) {}
- virtual void GetFoxitAppType(CFX_WideString& wsFoxitAppType) {
- wsFoxitAppType.clear();
- }
+ virtual void SetFoxitAppType(const CFX_WideStringC& wsFoxitAppType) = 0;
+ virtual void GetFoxitAppType(CFX_WideString& wsFoxitAppType) = 0;
/**
* Returns the language of the running host application. Such as zh_CN
@@ -207,17 +205,13 @@ class IXFA_AppProvider {
* Indicates the version number of the current application. Such as 9
*/
virtual void GetVersion(CFX_WideString& wsVersion) = 0;
- virtual void GetFoxitVersion(CFX_WideString& wsFoxitVersion) {
- wsFoxitVersion.clear();
- }
+ virtual void GetFoxitVersion(CFX_WideString& wsFoxitVersion) = 0;
/**
* Get application name, such as Phantom.
*/
virtual void GetAppName(CFX_WideString& wsName) = 0;
- virtual void GetFoxitAppName(CFX_WideString& wsFoxitName) {
- wsFoxitName.clear();
- }
+ virtual void GetFoxitAppName(CFX_WideString& wsFoxitName) = 0;
/**
* Causes the system to play a sound.
@@ -328,9 +322,8 @@ class IXFA_DocProvider {
virtual FX_BOOL RenderCustomWidget(CXFA_FFWidget* hWidget,
CFX_Graphics* pGS,
CFX_Matrix* pMatrix,
- const CFX_RectF& rtUI) {
- return FALSE;
- }
+ const CFX_RectF& rtUI) = 0;
+
virtual int32_t CountPages(CXFA_FFDoc* hDoc) = 0;
virtual int32_t GetCurrentPage(CXFA_FFDoc* hDoc) = 0;
virtual void SetCurrentPage(CXFA_FFDoc* hDoc, int32_t iCurPage) = 0;
@@ -359,23 +352,17 @@ class IXFA_DocProvider {
virtual int32_t SheetInBatch(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget) = 0;
virtual int32_t Verify(CXFA_FFDoc* hDoc,
CXFA_Node* pSigNode,
- FX_BOOL bUsed = TRUE) {
- return 0;
- }
+ FX_BOOL bUsed = TRUE) = 0;
virtual FX_BOOL Sign(CXFA_FFDoc* hDoc,
CXFA_NodeList* pNodeList,
const CFX_WideStringC& wsExpression,
const CFX_WideStringC& wsXMLIdent,
const CFX_WideStringC& wsValue = FX_WSTRC(L"open"),
- FX_BOOL bUsed = TRUE) {
- return 0;
- }
- virtual CXFA_NodeList* Enumerate(CXFA_FFDoc* hDoc) { return 0; }
+ FX_BOOL bUsed = TRUE) = 0;
+ virtual CXFA_NodeList* Enumerate(CXFA_FFDoc* hDoc) = 0;
virtual FX_BOOL Clear(CXFA_FFDoc* hDoc,
CXFA_Node* pSigNode,
- FX_BOOL bCleared = TRUE) {
- return 0;
- }
+ FX_BOOL bCleared = TRUE) = 0;
virtual void GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL) = 0;
virtual FX_ARGB GetHighlightColor(CXFA_FFDoc* hDoc) = 0;
@@ -400,13 +387,6 @@ class IXFA_DocProvider {
const CFX_WideString& wsLink) = 0;
};
-class CXFA_RenderOptions {
- public:
- CXFA_RenderOptions() : m_bPrint(FALSE), m_bHighlight(TRUE) {}
- FX_BOOL m_bPrint;
- FX_BOOL m_bHighlight;
-};
-
class IXFA_WidgetIterator {
public:
virtual ~IXFA_WidgetIterator() {}
diff --git a/xfa/fxfa/include/xfa_ffapp.h b/xfa/fxfa/include/xfa_ffapp.h
index 1e8bf5b117..5780859a92 100644
--- a/xfa/fxfa/include/xfa_ffapp.h
+++ b/xfa/fxfa/include/xfa_ffapp.h
@@ -24,11 +24,12 @@ class IFWL_AdapterTimerMgr;
class CXFA_FileRead : public IFX_FileRead {
public:
explicit CXFA_FileRead(const CFX_ArrayTemplate<CPDF_Stream*>& streams);
+ ~CXFA_FileRead() override;
- virtual FX_FILESIZE GetSize();
- virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size);
-
- virtual void Release() { delete this; }
+ // IFX_FileRead
+ FX_FILESIZE GetSize() override;
+ FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
+ void Release() override;
protected:
CFX_ObjectArray<CPDF_StreamAcc> m_Data;
diff --git a/xfa/fxfa/include/xfa_ffpageview.h b/xfa/fxfa/include/xfa_ffpageview.h
index ab98d54e62..2c703b0b00 100644
--- a/xfa/fxfa/include/xfa_ffpageview.h
+++ b/xfa/fxfa/include/xfa_ffpageview.h
@@ -58,14 +58,16 @@ class CXFA_FFPageWidgetIterator : public IXFA_WidgetIterator {
CXFA_LayoutItemIterator m_sIterator;
};
typedef CFX_ArrayTemplate<CXFA_FFWidget*> CXFA_WidgetArray;
+
class CXFA_TabParam {
public:
- CXFA_TabParam() : m_pWidget(NULL) {}
- ~CXFA_TabParam() {}
+ CXFA_TabParam();
+ ~CXFA_TabParam();
CXFA_FFWidget* m_pWidget;
CXFA_WidgetArray m_Children;
};
+
class CXFA_FFTabOrderPageWidgetIterator : public IXFA_WidgetIterator {
public:
CXFA_FFTabOrderPageWidgetIterator(CXFA_FFPageView* pPageView,
diff --git a/xfa/fxfa/include/xfa_ffwidget.h b/xfa/fxfa/include/xfa_ffwidget.h
index 0e58a3406a..2dc3b947d4 100644
--- a/xfa/fxfa/include/xfa_ffwidget.h
+++ b/xfa/fxfa/include/xfa_ffwidget.h
@@ -33,8 +33,8 @@ enum XFA_WIDGETITEM {
class CXFA_CalcData {
public:
- CXFA_CalcData() : m_iRefCount(0) {}
- ~CXFA_CalcData() { m_Globals.RemoveAll(); }
+ CXFA_CalcData();
+ ~CXFA_CalcData();
CFX_ArrayTemplate<CXFA_WidgetAcc*> m_Globals;
int32_t m_iRefCount;
@@ -43,23 +43,15 @@ class CXFA_CalcData {
class CXFA_FFWidget : public CXFA_ContentLayoutItem {
public:
CXFA_FFWidget(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
- virtual ~CXFA_FFWidget();
- CXFA_FFPageView* GetPageView();
- void SetPageView(CXFA_FFPageView* pPageView);
- void GetWidgetRect(CFX_RectF& rtWidget);
- CFX_RectF ReCacheWidgetRect();
- uint32_t GetStatus();
- void ModifyStatus(uint32_t dwAdded, uint32_t dwRemoved);
+ ~CXFA_FFWidget() override;
+
virtual FX_BOOL GetBBox(CFX_RectF& rtBox,
uint32_t dwStatus,
FX_BOOL bDrawFocus = FALSE);
- CXFA_WidgetAcc* GetDataAcc();
- FX_BOOL GetToolTip(CFX_WideString& wsToolTip);
virtual void RenderWidget(CFX_Graphics* pGS,
CFX_Matrix* pMatrix = NULL,
uint32_t dwStatus = 0,
int32_t iRotate = 0);
-
virtual FX_BOOL IsLoaded();
virtual FX_BOOL LoadWidget();
virtual void UnloadWidget();
@@ -87,32 +79,39 @@ class CXFA_FFWidget : public CXFA_ContentLayoutItem {
virtual FX_BOOL OnChar(uint32_t dwChar, uint32_t dwFlags);
virtual FWL_WidgetHit OnHitTest(FX_FLOAT fx, FX_FLOAT fy);
virtual FX_BOOL OnSetCursor(FX_FLOAT fx, FX_FLOAT fy);
- virtual FX_BOOL CanUndo() { return FALSE; }
- virtual FX_BOOL CanRedo() { return FALSE; }
- virtual FX_BOOL Undo() { return FALSE; }
- virtual FX_BOOL Redo() { return FALSE; }
- virtual FX_BOOL CanCopy() { return FALSE; }
- virtual FX_BOOL CanCut() { return FALSE; }
- virtual FX_BOOL CanPaste() { return FALSE; }
- virtual FX_BOOL CanSelectAll() { return FALSE; }
- virtual FX_BOOL CanDelete() { return CanCut(); }
- virtual FX_BOOL CanDeSelect() { return CanCopy(); }
- virtual FX_BOOL Copy(CFX_WideString& wsCopy) { return FALSE; }
- virtual FX_BOOL Cut(CFX_WideString& wsCut) { return FALSE; }
- virtual FX_BOOL Paste(const CFX_WideString& wsPaste) { return FALSE; }
- virtual FX_BOOL SelectAll() { return FALSE; }
- virtual FX_BOOL Delete() { return FALSE; }
- virtual FX_BOOL DeSelect() { return FALSE; }
+ virtual FX_BOOL CanUndo();
+ virtual FX_BOOL CanRedo();
+ virtual FX_BOOL Undo();
+ virtual FX_BOOL Redo();
+ virtual FX_BOOL CanCopy();
+ virtual FX_BOOL CanCut();
+ virtual FX_BOOL CanPaste();
+ virtual FX_BOOL CanSelectAll();
+ virtual FX_BOOL CanDelete();
+ virtual FX_BOOL CanDeSelect();
+ virtual FX_BOOL Copy(CFX_WideString& wsCopy);
+ virtual FX_BOOL Cut(CFX_WideString& wsCut);
+ virtual FX_BOOL Paste(const CFX_WideString& wsPaste);
+ virtual FX_BOOL SelectAll();
+ virtual FX_BOOL Delete();
+ virtual FX_BOOL DeSelect();
virtual FX_BOOL GetSuggestWords(CFX_PointF pointf,
- std::vector<CFX_ByteString>& sSuggest) {
- return FALSE;
- }
+ std::vector<CFX_ByteString>& sSuggest);
virtual FX_BOOL ReplaceSpellCheckWord(CFX_PointF pointf,
- const CFX_ByteStringC& bsReplace) {
- return FALSE;
- }
+ const CFX_ByteStringC& bsReplace);
+
+ CXFA_FFPageView* GetPageView();
+ void SetPageView(CXFA_FFPageView* pPageView);
+ void GetWidgetRect(CFX_RectF& rtWidget);
+ CFX_RectF ReCacheWidgetRect();
+ uint32_t GetStatus();
+ void ModifyStatus(uint32_t dwAdded, uint32_t dwRemoved);
+
+ CXFA_WidgetAcc* GetDataAcc();
+ FX_BOOL GetToolTip(CFX_WideString& wsToolTip);
+
CXFA_FFDocView* GetDocView();
- void SetDocView(CXFA_FFDocView* pDocView) { m_pDocView = pDocView; }
+ void SetDocView(CXFA_FFDocView* pDocView);
CXFA_FFDoc* GetDoc();
CXFA_FFApp* GetApp();
IXFA_AppProvider* GetAppProvider();
@@ -128,6 +127,7 @@ class CXFA_FFWidget : public CXFA_ContentLayoutItem {
protected:
virtual FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy);
+
void DrawBorder(CFX_Graphics* pGS,
CXFA_Box box,
const CFX_RectF& rtBorder,
@@ -137,15 +137,16 @@ class CXFA_FFWidget : public CXFA_ContentLayoutItem {
void GetMinMaxHeight(FX_FLOAT fMinHeight, FX_FLOAT fMaxHeight);
void GetRectWithoutRotate(CFX_RectF& rtWidget);
bool IsMatchVisibleStatus(uint32_t dwStatus);
-
void EventKillFocus();
FX_BOOL IsButtonDown();
void SetButtonDown(FX_BOOL bSet);
+
CXFA_FFDocView* m_pDocView;
CXFA_FFPageView* m_pPageView;
CXFA_WidgetAcc* m_pDataAcc;
CFX_RectF m_rtWidget;
};
+
int32_t XFA_StrokeTypeSetLineDash(CFX_Graphics* pGraphics,
int32_t iStrokeType,
int32_t iCapType);
diff --git a/xfa/fxfa/include/xfa_fontmgr.h b/xfa/fxfa/include/xfa_fontmgr.h
index 121df588d2..2d2a74f2ba 100644
--- a/xfa/fxfa/include/xfa_fontmgr.h
+++ b/xfa/fxfa/include/xfa_fontmgr.h
@@ -27,7 +27,7 @@ struct XFA_FONTINFO {
class CXFA_DefFontMgr {
public:
- CXFA_DefFontMgr() {}
+ CXFA_DefFontMgr();
~CXFA_DefFontMgr();
CFGAS_GEFont* GetFont(CXFA_FFDoc* hDoc,
diff --git a/xfa/fxfa/include/xfa_rendercontext.h b/xfa/fxfa/include/xfa_rendercontext.h
index 1154b8c5f4..7716c7140b 100644
--- a/xfa/fxfa/include/xfa_rendercontext.h
+++ b/xfa/fxfa/include/xfa_rendercontext.h
@@ -11,6 +11,14 @@
#include "xfa/fxfa/include/fxfa.h"
+class CXFA_RenderOptions {
+ public:
+ CXFA_RenderOptions() : m_bPrint(FALSE), m_bHighlight(TRUE) {}
+
+ FX_BOOL m_bPrint;
+ FX_BOOL m_bHighlight;
+};
+
class CXFA_RenderContext {
public:
CXFA_RenderContext();
diff --git a/xfa/fxfa/parser/cxfa_widgetdata.h b/xfa/fxfa/parser/cxfa_widgetdata.h
index d2054cf145..26f397cb64 100644
--- a/xfa/fxfa/parser/cxfa_widgetdata.h
+++ b/xfa/fxfa/parser/cxfa_widgetdata.h
@@ -61,7 +61,6 @@ class CXFA_WidgetData : public CXFA_Data {
CXFA_Validate GetValidate(FX_BOOL bModified = FALSE);
CXFA_Bind GetBind(FX_BOOL bModified = FALSE);
CXFA_Assist GetAssist(FX_BOOL bModified = FALSE);
- uint32_t GetRelevantStatus();
FX_BOOL GetWidth(FX_FLOAT& fWidth);
FX_BOOL GetHeight(FX_FLOAT& fHeight);
FX_BOOL GetMinWidth(FX_FLOAT& fMinWidth);
diff --git a/xfa/fxfa/parser/xfa_basic_imp.cpp b/xfa/fxfa/parser/xfa_basic_imp.cpp
index f7c2606501..8367462b60 100644
--- a/xfa/fxfa/parser/xfa_basic_imp.cpp
+++ b/xfa/fxfa/parser/xfa_basic_imp.cpp
@@ -553,6 +553,9 @@ int32_t CXFA_WideTextRead::GetPosition() {
FX_BOOL CXFA_WideTextRead::IsEOF() const {
return m_iPosition >= m_wsBuffer.GetLength();
}
+int32_t CXFA_WideTextRead::ReadData(uint8_t* pBuffer, int32_t iBufferSize) {
+ return 0;
+}
int32_t CXFA_WideTextRead::ReadString(FX_WCHAR* pStr,
int32_t iMaxLength,
FX_BOOL& bEOS,
@@ -566,9 +569,36 @@ int32_t CXFA_WideTextRead::ReadString(FX_WCHAR* pStr,
bEOS = IsEOF();
return iMaxLength;
}
+int32_t CXFA_WideTextRead::WriteData(const uint8_t* pBuffer,
+ int32_t iBufferSize) {
+ return 0;
+}
+int32_t CXFA_WideTextRead::WriteString(const FX_WCHAR* pStr, int32_t iLength) {
+ return 0;
+}
+FX_BOOL CXFA_WideTextRead::SetLength(int32_t iLength) {
+ return FALSE;
+}
+int32_t CXFA_WideTextRead::GetBOM(uint8_t bom[4]) const {
+ return 0;
+}
uint16_t CXFA_WideTextRead::GetCodePage() const {
return (sizeof(FX_WCHAR) == 2) ? FX_CODEPAGE_UTF16LE : FX_CODEPAGE_UTF32LE;
}
uint16_t CXFA_WideTextRead::SetCodePage(uint16_t wCodePage) {
return GetCodePage();
}
+
+IFX_Stream* CXFA_WideTextRead::CreateSharedStream(uint32_t dwAccess,
+ int32_t iOffset,
+ int32_t iLength) {
+ return NULL;
+}
+
+void CXFA_WideTextRead::Lock() {}
+
+void CXFA_WideTextRead::Unlock() {}
+
+CFX_WideString CXFA_WideTextRead::GetSrcText() const {
+ return m_wsBuffer;
+}
diff --git a/xfa/fxfa/parser/xfa_basic_imp.h b/xfa/fxfa/parser/xfa_basic_imp.h
index 108b00d00f..fdb77a9d07 100644
--- a/xfa/fxfa/parser/xfa_basic_imp.h
+++ b/xfa/fxfa/parser/xfa_basic_imp.h
@@ -24,43 +24,35 @@ const XFA_NOTSUREATTRIBUTE* XFA_GetNotsureAttribute(
class CXFA_WideTextRead : public IFX_Stream {
public:
CXFA_WideTextRead(const CFX_WideString& wsBuffer);
- virtual void Release();
- virtual IFX_Stream* Retain();
- virtual uint32_t GetAccessModes() const;
- virtual int32_t GetLength() const;
- virtual int32_t Seek(FX_STREAMSEEK eSeek, int32_t iOffset);
- virtual int32_t GetPosition();
- virtual FX_BOOL IsEOF() const;
-
- virtual int32_t ReadData(uint8_t* pBuffer, int32_t iBufferSize) { return 0; }
- virtual int32_t ReadString(FX_WCHAR* pStr,
- int32_t iMaxLength,
- FX_BOOL& bEOS,
- int32_t const* pByteSize = NULL);
- virtual int32_t WriteData(const uint8_t* pBuffer, int32_t iBufferSize) {
- return 0;
- }
- virtual int32_t WriteString(const FX_WCHAR* pStr, int32_t iLength) {
- return 0;
- }
- virtual void Flush() {}
- virtual FX_BOOL SetLength(int32_t iLength) { return FALSE; }
-
- virtual int32_t GetBOM(uint8_t bom[4]) const { return 0; }
- virtual uint16_t GetCodePage() const;
- virtual uint16_t SetCodePage(uint16_t wCodePage);
-
- virtual void Lock() {}
- virtual void Unlock() {}
-
- virtual IFX_Stream* CreateSharedStream(uint32_t dwAccess,
- int32_t iOffset,
- int32_t iLength) {
- return NULL;
- }
-
- CFX_WideString GetSrcText() const { return m_wsBuffer; }
+ // IFX_Stream
+ void Release() override;
+ IFX_Stream* Retain() override;
+ uint32_t GetAccessModes() const override;
+ int32_t GetLength() const override;
+ int32_t Seek(FX_STREAMSEEK eSeek, int32_t iOffset) override;
+ int32_t GetPosition() override;
+ FX_BOOL IsEOF() const override;
+ int32_t ReadData(uint8_t* pBuffer, int32_t iBufferSize) override;
+ int32_t ReadString(FX_WCHAR* pStr,
+ int32_t iMaxLength,
+ FX_BOOL& bEOS,
+ int32_t const* pByteSize = NULL) override;
+ int32_t WriteData(const uint8_t* pBuffer, int32_t iBufferSize) override;
+ int32_t WriteString(const FX_WCHAR* pStr, int32_t iLength) override;
+ void Flush() override {}
+ FX_BOOL SetLength(int32_t iLength) override;
+ int32_t GetBOM(uint8_t bom[4]) const override;
+ uint16_t GetCodePage() const override;
+ uint16_t SetCodePage(uint16_t wCodePage) override;
+ IFX_Stream* CreateSharedStream(uint32_t dwAccess,
+ int32_t iOffset,
+ int32_t iLength) override;
+
+ virtual void Lock();
+ virtual void Unlock();
+
+ CFX_WideString GetSrcText() const;
protected:
CFX_WideString m_wsBuffer;
diff --git a/xfa/fxfa/parser/xfa_doclayout.h b/xfa/fxfa/parser/xfa_doclayout.h
index a0b29e5ff8..cc0cf82417 100644
--- a/xfa/fxfa/parser/xfa_doclayout.h
+++ b/xfa/fxfa/parser/xfa_doclayout.h
@@ -66,7 +66,7 @@ class CXFA_ContainerLayoutItem : public CXFA_LayoutItem {
class CXFA_ContentLayoutItem : public CXFA_LayoutItem {
public:
CXFA_ContentLayoutItem(CXFA_Node* pNode);
- virtual ~CXFA_ContentLayoutItem();
+ ~CXFA_ContentLayoutItem() override;
CXFA_ContentLayoutItem* m_pPrev;
CXFA_ContentLayoutItem* m_pNext;
diff --git a/xfa/fxfa/parser/xfa_document.h b/xfa/fxfa/parser/xfa_document.h
index 2890a6677c..39068c7076 100644
--- a/xfa/fxfa/parser/xfa_document.h
+++ b/xfa/fxfa/parser/xfa_document.h
@@ -57,10 +57,12 @@ class CScript_HostPseudoModel;
class CScript_LogPseudoModel;
class CScript_LayoutPseudoModel;
class CScript_SignaturePseudoModel;
+
class CXFA_Document {
public:
CXFA_Document(CXFA_DocumentParser* pParser);
~CXFA_Document();
+
CXFA_Node* GetRoot() const { return m_pRootNode; }
CXFA_DocumentParser* GetParser() const { return m_pParser; }
CXFA_FFNotify* GetNotify() const;
diff --git a/xfa/fxfa/parser/xfa_layout_appadapter.h b/xfa/fxfa/parser/xfa_layout_appadapter.h
index 1bae22ee32..d41b90a9c7 100644
--- a/xfa/fxfa/parser/xfa_layout_appadapter.h
+++ b/xfa/fxfa/parser/xfa_layout_appadapter.h
@@ -27,6 +27,7 @@ class CXFA_TraverseStrategy_PageAreaContainerLayoutItem {
return static_cast<CXFA_ContainerLayoutItem*>(pLayoutItem->m_pParent);
}
};
+
class CXFA_TraverseStrategy_ContentAreaContainerLayoutItem {
public:
static inline CXFA_ContainerLayoutItem* GetFirstChild(
@@ -56,6 +57,7 @@ class CXFA_TraverseStrategy_ContentAreaContainerLayoutItem {
return static_cast<CXFA_ContainerLayoutItem*>(pLayoutItem->m_pParent);
}
};
+
class CXFA_TraverseStrategy_ContentLayoutItem {
public:
static inline CXFA_ContentLayoutItem* GetFirstChild(
diff --git a/xfa/fxfa/parser/xfa_layout_itemlayout.cpp b/xfa/fxfa/parser/xfa_layout_itemlayout.cpp
index 509bf630e9..f44435a40f 100644
--- a/xfa/fxfa/parser/xfa_layout_itemlayout.cpp
+++ b/xfa/fxfa/parser/xfa_layout_itemlayout.cpp
@@ -77,6 +77,9 @@ CXFA_ItemLayoutProcessor::CXFA_ItemLayoutProcessor(CXFA_Node* pNode,
m_pOldLayoutItem =
(CXFA_ContentLayoutItem*)m_pFormNode->GetUserData(XFA_LAYOUTITEMKEY);
}
+
+CXFA_ItemLayoutProcessor::~CXFA_ItemLayoutProcessor() {}
+
CXFA_ContentLayoutItem* CXFA_ItemLayoutProcessor::CreateContentLayoutItem(
CXFA_Node* pFormNode) {
if (!pFormNode) {
diff --git a/xfa/fxfa/parser/xfa_layout_itemlayout.h b/xfa/fxfa/parser/xfa_layout_itemlayout.h
index f7376d250e..fc279893c8 100644
--- a/xfa/fxfa/parser/xfa_layout_itemlayout.h
+++ b/xfa/fxfa/parser/xfa_layout_itemlayout.h
@@ -63,6 +63,7 @@ class CXFA_LayoutContext {
class CXFA_ItemLayoutProcessor {
public:
CXFA_ItemLayoutProcessor(CXFA_Node* pNode, CXFA_LayoutPageMgr* pPageMgr);
+ ~CXFA_ItemLayoutProcessor();
XFA_ItemLayoutProcessorResult DoLayout(
FX_BOOL bUseBreakControl,
diff --git a/xfa/fxfa/parser/xfa_layout_pagemgr_new.h b/xfa/fxfa/parser/xfa_layout_pagemgr_new.h
index a82c152df9..b992a228dd 100644
--- a/xfa/fxfa/parser/xfa_layout_pagemgr_new.h
+++ b/xfa/fxfa/parser/xfa_layout_pagemgr_new.h
@@ -22,10 +22,12 @@ class CXFA_ContainerRecord {
CXFA_ContainerLayoutItem* pCurPageArea;
CXFA_ContainerLayoutItem* pCurContentArea;
};
+
class CXFA_LayoutPageMgr {
public:
CXFA_LayoutPageMgr(CXFA_LayoutProcessor* pLayoutProcessor);
~CXFA_LayoutPageMgr();
+
FX_BOOL InitLayoutPage(CXFA_Node* pFormNode);
FX_BOOL PrepareFirstPage(CXFA_Node* pRootSubform);
FX_FLOAT GetAvailHeight();
diff --git a/xfa/fxfa/parser/xfa_locale.h b/xfa/fxfa/parser/xfa_locale.h
index 522df19a82..5a79e20a3f 100644
--- a/xfa/fxfa/parser/xfa_locale.h
+++ b/xfa/fxfa/parser/xfa_locale.h
@@ -13,32 +13,35 @@
class CXFA_XMLLocale : public IFX_Locale {
public:
CXFA_XMLLocale(CXML_Element* pLocaleData);
- virtual void Release();
- virtual CFX_WideString GetName();
- virtual void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
- CFX_WideString& wsNumSymbol) const;
-
- virtual void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const;
- virtual void GetMonthName(int32_t nMonth,
- CFX_WideString& wsMonthName,
- FX_BOOL bAbbr = TRUE) const;
- virtual void GetDayName(int32_t nWeek,
- CFX_WideString& wsDayName,
- FX_BOOL bAbbr = TRUE) const;
- virtual void GetMeridiemName(CFX_WideString& wsMeridiemName,
- FX_BOOL bAM = TRUE) const;
- virtual void GetTimeZone(FX_TIMEZONE& tz) const;
- virtual void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const;
-
- virtual void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
- virtual void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
- virtual void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
+
+ // IFX_Locale
+ void Release() override;
+ CFX_WideString GetName() override;
+ void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
+ CFX_WideString& wsNumSymbol) const override;
+
+ void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const override;
+ void GetMonthName(int32_t nMonth,
+ CFX_WideString& wsMonthName,
+ FX_BOOL bAbbr = TRUE) const override;
+ void GetDayName(int32_t nWeek,
+ CFX_WideString& wsDayName,
+ FX_BOOL bAbbr = TRUE) const override;
+ void GetMeridiemName(CFX_WideString& wsMeridiemName,
+ FX_BOOL bAM = TRUE) const override;
+ void GetTimeZone(FX_TIMEZONE& tz) const override;
+ void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const override;
+
+ void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
+ void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
+ void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
protected:
- ~CXFA_XMLLocale();
+ ~CXFA_XMLLocale() override;
+
void GetPattern(CXML_Element* pElement,
const CFX_ByteStringC& bsTag,
const CFX_WideStringC& wsName,
@@ -50,35 +53,39 @@ class CXFA_XMLLocale : public IFX_Locale {
private:
CXML_Element* m_pLocaleData;
};
+
class CXFA_NodeLocale : public IFX_Locale {
public:
CXFA_NodeLocale(CXFA_Node* pLocale);
- virtual void Release();
- virtual CFX_WideString GetName();
- virtual void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
- CFX_WideString& wsNumSymbol) const;
-
- virtual void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const;
- virtual void GetMonthName(int32_t nMonth,
- CFX_WideString& wsMonthName,
- FX_BOOL bAbbr = TRUE) const;
- virtual void GetDayName(int32_t nWeek,
- CFX_WideString& wsDayName,
- FX_BOOL bAbbr = TRUE) const;
- virtual void GetMeridiemName(CFX_WideString& wsMeridiemName,
- FX_BOOL bAM = TRUE) const;
- virtual void GetTimeZone(FX_TIMEZONE& tz) const;
- virtual void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const;
-
- virtual void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
- virtual void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
- virtual void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
- CFX_WideString& wsPattern) const;
+
+ // IFX_Locale
+ void Release() override;
+ CFX_WideString GetName() override;
+ void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType,
+ CFX_WideString& wsNumSymbol) const override;
+
+ void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const override;
+ void GetMonthName(int32_t nMonth,
+ CFX_WideString& wsMonthName,
+ FX_BOOL bAbbr = TRUE) const override;
+ void GetDayName(int32_t nWeek,
+ CFX_WideString& wsDayName,
+ FX_BOOL bAbbr = TRUE) const override;
+ void GetMeridiemName(CFX_WideString& wsMeridiemName,
+ FX_BOOL bAM = TRUE) const override;
+ void GetTimeZone(FX_TIMEZONE& tz) const override;
+ void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const override;
+
+ void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
+ void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
+ void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType,
+ CFX_WideString& wsPattern) const override;
protected:
- ~CXFA_NodeLocale();
+ ~CXFA_NodeLocale() override;
+
CXFA_Node* GetNodeByName(CXFA_Node* pParent,
const CFX_WideStringC& wsName) const;
CFX_WideString GetSymbol(XFA_ELEMENT eElement,
diff --git a/xfa/fxfa/parser/xfa_localemgr.h b/xfa/fxfa/parser/xfa_localemgr.h
index a3a1d4c2b9..7051fc9ac3 100644
--- a/xfa/fxfa/parser/xfa_localemgr.h
+++ b/xfa/fxfa/parser/xfa_localemgr.h
@@ -33,14 +33,15 @@ class IFX_Locale;
class CXFA_LocaleMgr : public IFX_LocaleMgr {
public:
CXFA_LocaleMgr(CXFA_Node* pLocaleSet, CFX_WideString wsDeflcid);
+ ~CXFA_LocaleMgr() override;
+ // IFX_LocaleMgr
void Release() override;
uint16_t GetDefLocaleID() override;
IFX_Locale* GetDefLocale() override;
IFX_Locale* GetLocale(uint16_t lcid) override;
IFX_Locale* GetLocaleByName(const CFX_WideString& wsLocaleName) override;
- ~CXFA_LocaleMgr();
void SetDefLocale(IFX_Locale* pLocale);
CFX_WideStringC GetConfigLocaleName(CXFA_Node* pConfig);
diff --git a/xfa/fxfa/parser/xfa_object.h b/xfa/fxfa/parser/xfa_object.h
index 2cd09df15c..b5c31cfbb2 100644
--- a/xfa/fxfa/parser/xfa_object.h
+++ b/xfa/fxfa/parser/xfa_object.h
@@ -45,7 +45,7 @@ enum XFA_OBJECTTYPE {
class CXFA_Object : public CFXJSE_HostObject {
public:
CXFA_Object(CXFA_Document* pDocument, uint32_t uFlags);
- virtual ~CXFA_Object() {}
+ ~CXFA_Object() override;
CXFA_Document* GetDocument() const { return m_pDocument; }
uint32_t GetFlag() const { return m_uFlags; }
@@ -127,6 +127,9 @@ struct XFA_MAPDATABLOCK {
};
struct XFA_MAPMODULEDATA {
+ XFA_MAPMODULEDATA();
+ ~XFA_MAPMODULEDATA();
+
CFX_MapPtrToPtr m_ValueMap;
CFX_MapPtrTemplate<void*, XFA_MAPDATABLOCK*> m_BufferMap;
};
@@ -134,6 +137,7 @@ struct XFA_MAPMODULEDATA {
#define XFA_CalcRefCount (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'R')
#define XFA_CalcData (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'C')
#define XFA_LAYOUTITEMKEY (void*)(uintptr_t) FXBSTR_ID('L', 'Y', 'I', 'M')
+
class CXFA_Node : public CXFA_Object {
public:
XFA_ELEMENT GetClassID() const { return (XFA_ELEMENT)m_eNodeClass; }
@@ -649,42 +653,39 @@ class CXFA_Node : public CXFA_Object {
CXFA_Node* m_pAuxNode;
XFA_MAPMODULEDATA* m_pMapModuleData;
};
+
class CXFA_OrdinaryObject : public CXFA_Object {
public:
- CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_ELEMENT eElement)
- : CXFA_Object(pDocument, XFA_OBJECTTYPE_OrdinaryObject),
- m_uScriptHash(0) {
- m_eNodeClass = eElement;
- }
- XFA_ELEMENT GetClassID() const { return (XFA_ELEMENT)m_eNodeClass; }
- uint32_t GetScriptObjHash() { return m_uScriptHash; }
+ CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_ELEMENT eElement);
+ ~CXFA_OrdinaryObject() override;
+
+ XFA_ELEMENT GetClassID() const;
+ uint32_t GetScriptObjHash() const;
protected:
XFA_ELEMENT m_eNodeClass;
uint32_t m_uScriptHash;
};
+
class CXFA_ThisProxy : public CXFA_Object {
public:
- CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode)
- : CXFA_Object(pThisNode->GetDocument(), XFA_OBJECTTYPE_VariablesThis),
- m_pThisNode(NULL),
- m_pScriptNode(NULL) {
- m_pThisNode = pThisNode;
- m_pScriptNode = pScriptNode;
- }
- ~CXFA_ThisProxy() override {}
- CXFA_Node* GetThisNode() { return m_pThisNode; }
- CXFA_Node* GetScriptNode() { return m_pScriptNode; }
+ CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode);
+ ~CXFA_ThisProxy() override;
+
+ CXFA_Node* GetThisNode() const;
+ CXFA_Node* GetScriptNode() const;
private:
CXFA_Node* m_pThisNode;
CXFA_Node* m_pScriptNode;
};
+
class CXFA_NodeList : public CXFA_Object {
public:
explicit CXFA_NodeList(CXFA_Document* pDocument);
- virtual ~CXFA_NodeList() {}
- XFA_ELEMENT GetClassID() const { return XFA_ELEMENT_NodeList; }
+ ~CXFA_NodeList() override;
+
+ XFA_ELEMENT GetClassID() const;
CXFA_Node* NamedItem(const CFX_WideStringC& wsName);
virtual int32_t GetLength() = 0;
virtual FX_BOOL Append(CXFA_Node* pNode) = 0;
@@ -702,28 +703,35 @@ class CXFA_NodeList : public CXFA_Object {
FX_BOOL bSetting,
XFA_ATTRIBUTE eAttribute);
};
+
class CXFA_ArrayNodeList : public CXFA_NodeList {
public:
explicit CXFA_ArrayNodeList(CXFA_Document* pDocument);
+ ~CXFA_ArrayNodeList() override;
+
+ // From CXFA_NodeList.
+ int32_t GetLength() override;
+ FX_BOOL Append(CXFA_Node* pNode) override;
+ FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) override;
+ FX_BOOL Remove(CXFA_Node* pNode) override;
+ CXFA_Node* Item(int32_t iIndex) override;
+
void SetArrayNodeList(const CXFA_NodeArray& srcArray);
- virtual int32_t GetLength();
- virtual FX_BOOL Append(CXFA_Node* pNode);
- virtual FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode);
- virtual FX_BOOL Remove(CXFA_Node* pNode);
- virtual CXFA_Node* Item(int32_t iIndex);
protected:
CXFA_NodeArray m_array;
};
+
class CXFA_AttachNodeList : public CXFA_NodeList {
public:
CXFA_AttachNodeList(CXFA_Document* pDocument, CXFA_Node* pAttachNode);
- virtual int32_t GetLength();
- virtual FX_BOOL Append(CXFA_Node* pNode);
- virtual FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode);
- virtual FX_BOOL Remove(CXFA_Node* pNode);
- virtual CXFA_Node* Item(int32_t iIndex);
+ // From CXFA_NodeList.
+ int32_t GetLength() override;
+ FX_BOOL Append(CXFA_Node* pNode) override;
+ FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) override;
+ FX_BOOL Remove(CXFA_Node* pNode) override;
+ CXFA_Node* Item(int32_t iIndex) override;
protected:
CXFA_Node* m_pAttachNode;
diff --git a/xfa/fxfa/parser/xfa_object_imp.cpp b/xfa/fxfa/parser/xfa_object_imp.cpp
index 0f36d68aa6..02617f14b9 100644
--- a/xfa/fxfa/parser/xfa_object_imp.cpp
+++ b/xfa/fxfa/parser/xfa_object_imp.cpp
@@ -59,6 +59,8 @@ XFA_MAPDATABLOCKCALLBACKINFO deleteBindItemCallBack = {
CXFA_Object::CXFA_Object(CXFA_Document* pDocument, uint32_t uFlags)
: m_pDocument(pDocument), m_uFlags(uFlags) {}
+CXFA_Object::~CXFA_Object() {}
+
void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const {
wsName = XFA_GetElementByID(GetClassID())->pName;
}
@@ -107,6 +109,10 @@ void CXFA_Object::ThrowException(int32_t iStringID, ...) {
FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC());
}
+XFA_MAPMODULEDATA::XFA_MAPMODULEDATA() {}
+
+XFA_MAPMODULEDATA::~XFA_MAPMODULEDATA() {}
+
CXFA_Node::CXFA_Node(CXFA_Document* pDoc,
uint16_t ePacket,
XFA_ELEMENT eElement)
@@ -5084,11 +5090,50 @@ void CXFA_Node::MoveBufferMapData(CXFA_Node* pSrcModule,
}
pSrcModule->MoveBufferMapData(pDstModule, pKey);
}
+
+CXFA_OrdinaryObject::CXFA_OrdinaryObject(CXFA_Document* pDocument,
+ XFA_ELEMENT eElement)
+ : CXFA_Object(pDocument, XFA_OBJECTTYPE_OrdinaryObject), m_uScriptHash(0) {
+ m_eNodeClass = eElement;
+}
+
+CXFA_OrdinaryObject::~CXFA_OrdinaryObject() {}
+
+XFA_ELEMENT CXFA_OrdinaryObject::GetClassID() const {
+ return m_eNodeClass;
+}
+
+uint32_t CXFA_OrdinaryObject::GetScriptObjHash() const {
+ return m_uScriptHash;
+}
+
+CXFA_ThisProxy::CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode)
+ : CXFA_Object(pThisNode->GetDocument(), XFA_OBJECTTYPE_VariablesThis),
+ m_pThisNode(NULL),
+ m_pScriptNode(NULL) {
+ m_pThisNode = pThisNode;
+ m_pScriptNode = pScriptNode;
+}
+
+CXFA_ThisProxy::~CXFA_ThisProxy() {}
+
+CXFA_Node* CXFA_ThisProxy::GetThisNode() const {
+ return m_pThisNode;
+}
+
+CXFA_Node* CXFA_ThisProxy::GetScriptNode() const {
+ return m_pScriptNode;
+}
+
CXFA_NodeList::CXFA_NodeList(CXFA_Document* pDocument)
: CXFA_Object(pDocument, XFA_OBJECTTYPE_NodeList) {
m_pDocument->GetScriptContext()->AddToCacheList(
std::unique_ptr<CXFA_NodeList>(this));
}
+CXFA_NodeList::~CXFA_NodeList() {}
+XFA_ELEMENT CXFA_NodeList::GetClassID() const {
+ return XFA_ELEMENT_NodeList;
+}
CXFA_Node* CXFA_NodeList::NamedItem(const CFX_WideStringC& wsName) {
uint32_t dwHashCode = FX_HashCode_GetW(wsName, false);
int32_t iCount = GetLength();
@@ -5180,6 +5225,9 @@ void CXFA_NodeList::Script_ListClass_Length(CFXJSE_Value* pValue,
}
CXFA_ArrayNodeList::CXFA_ArrayNodeList(CXFA_Document* pDocument)
: CXFA_NodeList(pDocument) {}
+
+CXFA_ArrayNodeList::~CXFA_ArrayNodeList() {}
+
void CXFA_ArrayNodeList::SetArrayNodeList(const CXFA_NodeArray& srcArray) {
if (srcArray.GetSize() > 0) {
m_array.Copy(srcArray);
diff --git a/xfa/fxfa/parser/xfa_parser_imp.cpp b/xfa/fxfa/parser/xfa_parser_imp.cpp
index 748cca5cad..9cc324ae9d 100644
--- a/xfa/fxfa/parser/xfa_parser_imp.cpp
+++ b/xfa/fxfa/parser/xfa_parser_imp.cpp
@@ -37,6 +37,9 @@ CXFA_SimpleParser::CXFA_SimpleParser(CXFA_Document* pFactory,
CXFA_SimpleParser::~CXFA_SimpleParser() {
CloseParser();
}
+void CXFA_SimpleParser::Release() {
+ delete this;
+}
void CXFA_SimpleParser::SetFactory(CXFA_Document* pFactory) {
m_pFactory = pFactory;
}
@@ -191,6 +194,18 @@ void CXFA_SimpleParser::ConstructXFANode(CXFA_Node* pXFANode,
}
}
+CXFA_Document* CXFA_SimpleParser::GetFactory() const {
+ return m_pFactory;
+}
+
+CXFA_Node* CXFA_SimpleParser::GetRootNode() const {
+ return m_pRootNode;
+}
+
+CFDE_XMLDoc* CXFA_SimpleParser::GetXMLDoc() const {
+ return m_pXMLDoc;
+}
+
FX_BOOL XFA_FDEExtension_ResolveNamespaceQualifier(
CFDE_XMLElement* pNode,
const CFX_WideStringC& wsQualifier,
@@ -1347,6 +1362,10 @@ CXFA_DocumentParser::CXFA_DocumentParser(CXFA_FFNotify* pNotify)
CXFA_DocumentParser::~CXFA_DocumentParser() {
CloseParser();
}
+
+void CXFA_DocumentParser::Release() {
+ delete this;
+}
int32_t CXFA_DocumentParser::StartParse(IFX_FileRead* pStream,
XFA_XDPPACKET ePacketID) {
CloseParser();
@@ -1388,6 +1407,26 @@ void CXFA_DocumentParser::ConstructXFANode(CXFA_Node* pXFANode,
}
}
+CXFA_Document* CXFA_DocumentParser::GetFactory() const {
+ return m_nodeParser.GetFactory();
+}
+
+CXFA_Node* CXFA_DocumentParser::GetRootNode() const {
+ return m_nodeParser.GetRootNode();
+}
+
+CFDE_XMLDoc* CXFA_DocumentParser::GetXMLDoc() const {
+ return m_nodeParser.GetXMLDoc();
+}
+
+CXFA_FFNotify* CXFA_DocumentParser::GetNotify() const {
+ return m_pNotify;
+}
+
+CXFA_Document* CXFA_DocumentParser::GetDocument() const {
+ return m_pDocument;
+}
+
void CXFA_DocumentParser::CloseParser() {
delete m_pDocument;
m_pDocument = nullptr;
@@ -1410,6 +1449,7 @@ CXFA_XMLParser::CXFA_XMLParser(CFDE_XMLNode* pRoot, IFX_Stream* pStream)
m_pParser = new CFDE_XMLSyntaxParser;
m_pParser->Init(m_pStream, 32 * 1024, 1024 * 1024);
}
+
CXFA_XMLParser::~CXFA_XMLParser() {
if (m_pParser) {
m_pParser->Release();
@@ -1418,6 +1458,11 @@ CXFA_XMLParser::~CXFA_XMLParser() {
m_ws1.clear();
m_ws2.clear();
}
+
+void CXFA_XMLParser::Release() {
+ delete this;
+}
+
int32_t CXFA_XMLParser::DoParser(IFX_Pause* pPause) {
if (m_syntaxParserResult == FDE_XmlSyntaxResult::Error)
return -1;
diff --git a/xfa/fxfa/parser/xfa_parser_imp.h b/xfa/fxfa/parser/xfa_parser_imp.h
index 1f117be64e..3a56cc0996 100644
--- a/xfa/fxfa/parser/xfa_parser_imp.h
+++ b/xfa/fxfa/parser/xfa_parser_imp.h
@@ -17,8 +17,8 @@ class CXFA_SimpleParser : public IXFA_Parser {
CXFA_SimpleParser(CXFA_Document* pFactory, FX_BOOL bDocumentParser = FALSE);
~CXFA_SimpleParser() override;
- void Release() override { delete this; }
-
+ // IXFA_Parser
+ void Release() override;
int32_t StartParse(IFX_FileRead* pStream,
XFA_XDPPACKET ePacketID = XFA_XDPPACKET_XDP) override;
int32_t DoParse(IFX_Pause* pPause = NULL) override;
@@ -26,9 +26,9 @@ class CXFA_SimpleParser : public IXFA_Parser {
CFDE_XMLNode*& pXMLNode,
IFX_Pause* pPause = NULL) override;
void ConstructXFANode(CXFA_Node* pXFANode, CFDE_XMLNode* pXMLNode) override;
- CXFA_Document* GetFactory() const override { return m_pFactory; }
- CXFA_Node* GetRootNode() const override { return m_pRootNode; }
- CFDE_XMLDoc* GetXMLDoc() const override { return m_pXMLDoc; }
+ CXFA_Document* GetFactory() const override;
+ CXFA_Node* GetRootNode() const override;
+ CFDE_XMLDoc* GetXMLDoc() const override;
void CloseParser() override;
protected:
@@ -87,7 +87,8 @@ class CXFA_DocumentParser : public IXFA_Parser {
CXFA_DocumentParser(CXFA_FFNotify* pNotify);
~CXFA_DocumentParser() override;
- void Release() override { delete this; }
+ // IXFA_Parser
+ void Release() override;
int32_t StartParse(IFX_FileRead* pStream,
XFA_XDPPACKET ePacketID = XFA_XDPPACKET_XDP) override;
int32_t DoParse(IFX_Pause* pPause = NULL) override;
@@ -95,13 +96,11 @@ class CXFA_DocumentParser : public IXFA_Parser {
CFDE_XMLNode*& pXMLNode,
IFX_Pause* pPause = NULL) override;
void ConstructXFANode(CXFA_Node* pXFANode, CFDE_XMLNode* pXMLNode) override;
- CXFA_Document* GetFactory() const override {
- return m_nodeParser.GetFactory();
- }
- CXFA_Node* GetRootNode() const override { return m_nodeParser.GetRootNode(); }
- CFDE_XMLDoc* GetXMLDoc() const override { return m_nodeParser.GetXMLDoc(); }
- CXFA_FFNotify* GetNotify() const { return m_pNotify; }
- CXFA_Document* GetDocument() const { return m_pDocument; }
+ CXFA_Document* GetFactory() const override;
+ CXFA_Node* GetRootNode() const override;
+ CFDE_XMLDoc* GetXMLDoc() const override;
+ CXFA_FFNotify* GetNotify() const;
+ CXFA_Document* GetDocument() const;
void CloseParser() override;
protected:
@@ -113,10 +112,11 @@ class CXFA_DocumentParser : public IXFA_Parser {
class CXFA_XMLParser : public CFDE_XMLParser {
public:
CXFA_XMLParser(CFDE_XMLNode* pRoot, IFX_Stream* pStream);
- ~CXFA_XMLParser();
+ ~CXFA_XMLParser() override;
- virtual void Release() { delete this; }
- virtual int32_t DoParser(IFX_Pause* pPause);
+ // CFDE_XMLParser
+ void Release() override;
+ int32_t DoParser(IFX_Pause* pPause) override;
FX_FILESIZE m_nStart[2];
size_t m_nSize[2];
diff --git a/xfa/fxfa/parser/xfa_script.h b/xfa/fxfa/parser/xfa_script.h
index 646193d2cf..faaaceec78 100644
--- a/xfa/fxfa/parser/xfa_script.h
+++ b/xfa/fxfa/parser/xfa_script.h
@@ -38,10 +38,8 @@ enum XFA_RESOVENODE_RSTYPE {
};
struct XFA_RESOLVENODE_RS {
- XFA_RESOLVENODE_RS()
- : dwFlags(XFA_RESOVENODE_RSTYPE_Nodes), pScriptAttribute(NULL) {}
-
- ~XFA_RESOLVENODE_RS() { nodes.RemoveAll(); }
+ XFA_RESOLVENODE_RS();
+ ~XFA_RESOLVENODE_RS();
int32_t GetAttributeResult(CXFA_ValueArray& valueArray) const {
if (pScriptAttribute && pScriptAttribute->eValueType == XFA_SCRIPT_Object) {
@@ -61,4 +59,10 @@ struct XFA_RESOLVENODE_RS {
const XFA_SCRIPTATTRIBUTEINFO* pScriptAttribute;
};
+inline XFA_RESOLVENODE_RS::XFA_RESOLVENODE_RS()
+ : dwFlags(XFA_RESOVENODE_RSTYPE_Nodes), pScriptAttribute(NULL) {}
+
+inline XFA_RESOLVENODE_RS::~XFA_RESOLVENODE_RS() {
+ nodes.RemoveAll();
+}
#endif // XFA_FXFA_PARSER_XFA_SCRIPT_H_
diff --git a/xfa/fxfa/parser/xfa_script_datawindow.h b/xfa/fxfa/parser/xfa_script_datawindow.h
index 7754f049c4..d896a71e70 100644
--- a/xfa/fxfa/parser/xfa_script_datawindow.h
+++ b/xfa/fxfa/parser/xfa_script_datawindow.h
@@ -13,7 +13,8 @@
class CScript_DataWindow : public CXFA_OrdinaryObject {
public:
CScript_DataWindow(CXFA_Document* pDocument);
- virtual ~CScript_DataWindow();
+ ~CScript_DataWindow() override;
+
void Script_DataWindow_MoveCurrentRecord(CFXJSE_Arguments* pArguments);
void Script_DataWindow_Record(CFXJSE_Arguments* pArguments);
void Script_DataWindow_GotoRecord(CFXJSE_Arguments* pArguments);
diff --git a/xfa/fxfa/parser/xfa_script_eventpseudomodel.h b/xfa/fxfa/parser/xfa_script_eventpseudomodel.h
index 378f56f149..3a53b0b05d 100644
--- a/xfa/fxfa/parser/xfa_script_eventpseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_eventpseudomodel.h
@@ -33,7 +33,7 @@ enum class XFA_Event {
class CScript_EventPseudoModel : public CXFA_OrdinaryObject {
public:
explicit CScript_EventPseudoModel(CXFA_Document* pDocument);
- virtual ~CScript_EventPseudoModel();
+ ~CScript_EventPseudoModel() override;
void Script_EventPseudoModel_Change(CFXJSE_Value* pValue,
FX_BOOL bSetting,
diff --git a/xfa/fxfa/parser/xfa_script_hostpseudomodel.h b/xfa/fxfa/parser/xfa_script_hostpseudomodel.h
index 8a186fb6fd..0cbe04aadb 100644
--- a/xfa/fxfa/parser/xfa_script_hostpseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_hostpseudomodel.h
@@ -14,7 +14,7 @@
class CScript_HostPseudoModel : public CXFA_OrdinaryObject {
public:
CScript_HostPseudoModel(CXFA_Document* pDocument);
- virtual ~CScript_HostPseudoModel();
+ ~CScript_HostPseudoModel() override;
void Script_HostPseudoModel_AppType(CFXJSE_Value* pValue,
FX_BOOL bSetting,
diff --git a/xfa/fxfa/parser/xfa_script_layoutpseudomodel.h b/xfa/fxfa/parser/xfa_script_layoutpseudomodel.h
index 2fb0dba303..02e25b42f5 100644
--- a/xfa/fxfa/parser/xfa_script_layoutpseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_layoutpseudomodel.h
@@ -21,7 +21,7 @@ enum XFA_LAYOUTMODEL_HWXY {
class CScript_LayoutPseudoModel : public CXFA_OrdinaryObject {
public:
explicit CScript_LayoutPseudoModel(CXFA_Document* pDocument);
- ~CScript_LayoutPseudoModel();
+ ~CScript_LayoutPseudoModel() override;
void Script_LayoutPseudoModel_Ready(CFXJSE_Value* pValue,
FX_BOOL bSetting,
diff --git a/xfa/fxfa/parser/xfa_script_logpseudomodel.h b/xfa/fxfa/parser/xfa_script_logpseudomodel.h
index 1e13cd0371..9e30641264 100644
--- a/xfa/fxfa/parser/xfa_script_logpseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_logpseudomodel.h
@@ -13,7 +13,7 @@
class CScript_LogPseudoModel : public CXFA_OrdinaryObject {
public:
explicit CScript_LogPseudoModel(CXFA_Document* pDocument);
- virtual ~CScript_LogPseudoModel();
+ ~CScript_LogPseudoModel() override;
void Script_LogPseudoModel_Message(CFXJSE_Arguments* pArguments);
void Script_LogPseudoModel_TraceEnabled(CFXJSE_Arguments* pArguments);
diff --git a/xfa/fxfa/parser/xfa_script_resolveprocessor.cpp b/xfa/fxfa/parser/xfa_script_resolveprocessor.cpp
index c2101f7719..2e61a06885 100644
--- a/xfa/fxfa/parser/xfa_script_resolveprocessor.cpp
+++ b/xfa/fxfa/parser/xfa_script_resolveprocessor.cpp
@@ -822,3 +822,19 @@ void CXFA_ResolveProcessor::XFA_ResolveNode_SetIndexDataBind(
iIndex = iCount - 1;
}
}
+
+CXFA_ResolveNodesData::CXFA_ResolveNodesData(CXFA_ScriptContext* pSC)
+ : m_pSC(pSC),
+ m_CurNode(NULL),
+ m_wsName(),
+ m_uHashName(XFA_HASHCODE_None),
+ m_wsCondition(),
+ m_nLevel(0),
+ m_Nodes(),
+ m_dwStyles(XFA_RESOLVENODE_Children),
+ m_pScriptAttribute(NULL),
+ m_dwFlag(XFA_RESOVENODE_RSTYPE_Nodes) {}
+
+CXFA_ResolveNodesData::~CXFA_ResolveNodesData() {
+ m_Nodes.RemoveAll();
+}
diff --git a/xfa/fxfa/parser/xfa_script_resolveprocessor.h b/xfa/fxfa/parser/xfa_script_resolveprocessor.h
index 9789ffd7b8..0d932ef815 100644
--- a/xfa/fxfa/parser/xfa_script_resolveprocessor.h
+++ b/xfa/fxfa/parser/xfa_script_resolveprocessor.h
@@ -15,18 +15,9 @@ class CXFA_ScriptContext;
class CXFA_ResolveNodesData {
public:
- CXFA_ResolveNodesData(CXFA_ScriptContext* pSC = NULL)
- : m_pSC(pSC),
- m_CurNode(NULL),
- m_wsName(),
- m_uHashName(XFA_HASHCODE_None),
- m_wsCondition(),
- m_nLevel(0),
- m_Nodes(),
- m_dwStyles(XFA_RESOLVENODE_Children),
- m_pScriptAttribute(NULL),
- m_dwFlag(XFA_RESOVENODE_RSTYPE_Nodes) {}
- ~CXFA_ResolveNodesData() { m_Nodes.RemoveAll(); }
+ CXFA_ResolveNodesData(CXFA_ScriptContext* pSC = NULL);
+ ~CXFA_ResolveNodesData();
+
CXFA_ScriptContext* m_pSC;
CXFA_Object* m_CurNode;
CFX_WideString m_wsName;
diff --git a/xfa/fxfa/parser/xfa_script_signaturepseudomodel.h b/xfa/fxfa/parser/xfa_script_signaturepseudomodel.h
index bba0fd5827..3339ff0852 100644
--- a/xfa/fxfa/parser/xfa_script_signaturepseudomodel.h
+++ b/xfa/fxfa/parser/xfa_script_signaturepseudomodel.h
@@ -13,7 +13,8 @@
class CScript_SignaturePseudoModel : public CXFA_OrdinaryObject {
public:
CScript_SignaturePseudoModel(CXFA_Document* pDocument);
- ~CScript_SignaturePseudoModel();
+ ~CScript_SignaturePseudoModel() override;
+
void Script_SignaturePseudoModel_Verify(CFXJSE_Arguments* pArguments);
void Script_SignaturePseudoModel_Sign(CFXJSE_Arguments* pArguments);
void Script_SignaturePseudoModel_Enumerate(CFXJSE_Arguments* pArguments);