| OLD | NEW |
| (Empty) |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
| 6 | |
| 7 #ifndef XFA_INCLUDE_FXFA_XFA_FFWIDGETHANDLER_H_ | |
| 8 #define XFA_INCLUDE_FXFA_XFA_FFWIDGETHANDLER_H_ | |
| 9 | |
| 10 #include <vector> | |
| 11 | |
| 12 #include "xfa/fxfa/parser/xfa_document.h" | |
| 13 #include "xfa/include/fxfa/fxfa.h" | |
| 14 | |
| 15 class CXFA_FFDocView; | |
| 16 | |
| 17 class CXFA_FFWidgetHandler { | |
| 18 public: | |
| 19 CXFA_FFWidgetHandler(CXFA_FFDocView* pDocView); | |
| 20 ~CXFA_FFWidgetHandler(); | |
| 21 | |
| 22 CXFA_FFWidget* CreateWidget(CXFA_FFWidget* hParent, | |
| 23 XFA_WIDGETTYPE eType, | |
| 24 CXFA_FFWidget* hBefore = NULL); | |
| 25 | |
| 26 FX_BOOL OnMouseEnter(CXFA_FFWidget* hWidget); | |
| 27 FX_BOOL OnMouseExit(CXFA_FFWidget* hWidget); | |
| 28 FX_BOOL OnLButtonDown(CXFA_FFWidget* hWidget, | |
| 29 uint32_t dwFlags, | |
| 30 FX_FLOAT fx, | |
| 31 FX_FLOAT fy); | |
| 32 FX_BOOL OnLButtonUp(CXFA_FFWidget* hWidget, | |
| 33 uint32_t dwFlags, | |
| 34 FX_FLOAT fx, | |
| 35 FX_FLOAT fy); | |
| 36 FX_BOOL OnLButtonDblClk(CXFA_FFWidget* hWidget, | |
| 37 uint32_t dwFlags, | |
| 38 FX_FLOAT fx, | |
| 39 FX_FLOAT fy); | |
| 40 FX_BOOL OnMouseMove(CXFA_FFWidget* hWidget, | |
| 41 uint32_t dwFlags, | |
| 42 FX_FLOAT fx, | |
| 43 FX_FLOAT fy); | |
| 44 FX_BOOL OnMouseWheel(CXFA_FFWidget* hWidget, | |
| 45 uint32_t dwFlags, | |
| 46 int16_t zDelta, | |
| 47 FX_FLOAT fx, | |
| 48 FX_FLOAT fy); | |
| 49 FX_BOOL OnRButtonDown(CXFA_FFWidget* hWidget, | |
| 50 uint32_t dwFlags, | |
| 51 FX_FLOAT fx, | |
| 52 FX_FLOAT fy); | |
| 53 FX_BOOL OnRButtonUp(CXFA_FFWidget* hWidget, | |
| 54 uint32_t dwFlags, | |
| 55 FX_FLOAT fx, | |
| 56 FX_FLOAT fy); | |
| 57 FX_BOOL OnRButtonDblClk(CXFA_FFWidget* hWidget, | |
| 58 uint32_t dwFlags, | |
| 59 FX_FLOAT fx, | |
| 60 FX_FLOAT fy); | |
| 61 | |
| 62 FX_BOOL OnKeyDown(CXFA_FFWidget* hWidget, | |
| 63 uint32_t dwKeyCode, | |
| 64 uint32_t dwFlags); | |
| 65 FX_BOOL OnKeyUp(CXFA_FFWidget* hWidget, uint32_t dwKeyCode, uint32_t dwFlags); | |
| 66 FX_BOOL OnChar(CXFA_FFWidget* hWidget, uint32_t dwChar, uint32_t dwFlags); | |
| 67 uint32_t OnHitTest(CXFA_FFWidget* hWidget, FX_FLOAT fx, FX_FLOAT fy); | |
| 68 FX_BOOL OnSetCursor(CXFA_FFWidget* hWidget, FX_FLOAT fx, FX_FLOAT fy); | |
| 69 void RenderWidget(CXFA_FFWidget* hWidget, | |
| 70 CFX_Graphics* pGS, | |
| 71 CFX_Matrix* pMatrix = NULL, | |
| 72 FX_BOOL bHighlight = FALSE); | |
| 73 FX_BOOL HasEvent(CXFA_WidgetAcc* pWidgetAcc, XFA_EVENTTYPE eEventType); | |
| 74 int32_t ProcessEvent(CXFA_WidgetAcc* pWidgetAcc, CXFA_EventParam* pParam); | |
| 75 | |
| 76 protected: | |
| 77 CXFA_Node* CreateWidgetFormItem(XFA_WIDGETTYPE eType, | |
| 78 CXFA_Node* pParent, | |
| 79 CXFA_Node* pBefore) const; | |
| 80 | |
| 81 CXFA_Node* CreatePushButton(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 82 CXFA_Node* CreateCheckButton(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 83 CXFA_Node* CreateExclGroup(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 84 CXFA_Node* CreateRadioButton(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 85 CXFA_Node* CreateDatetimeEdit(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 86 CXFA_Node* CreateDecimalField(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 87 CXFA_Node* CreateNumericField(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 88 CXFA_Node* CreateSignature(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 89 CXFA_Node* CreateTextEdit(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 90 CXFA_Node* CreateDropdownList(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 91 CXFA_Node* CreateListBox(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 92 CXFA_Node* CreateImageField(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 93 CXFA_Node* CreatePasswordEdit(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 94 CXFA_Node* CreateField(XFA_ELEMENT eElement, | |
| 95 CXFA_Node* pParent, | |
| 96 CXFA_Node* pBefore) const; | |
| 97 CXFA_Node* CreateArc(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 98 CXFA_Node* CreateRectangle(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 99 CXFA_Node* CreateImage(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 100 CXFA_Node* CreateLine(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 101 CXFA_Node* CreateText(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 102 CXFA_Node* CreateDraw(XFA_ELEMENT eElement, | |
| 103 CXFA_Node* pParent, | |
| 104 CXFA_Node* pBefore) const; | |
| 105 | |
| 106 CXFA_Node* CreateSubform(CXFA_Node* pParent, CXFA_Node* pBefore) const; | |
| 107 CXFA_Node* CreateFormItem(XFA_ELEMENT eElement, | |
| 108 CXFA_Node* pParent, | |
| 109 CXFA_Node* pBefore) const; | |
| 110 CXFA_Node* CreateCopyNode(XFA_ELEMENT eElement, | |
| 111 CXFA_Node* pParent, | |
| 112 CXFA_Node* pBefore = NULL) const; | |
| 113 CXFA_Node* CreateTemplateNode(XFA_ELEMENT eElement, | |
| 114 CXFA_Node* pParent, | |
| 115 CXFA_Node* pBefore) const; | |
| 116 CXFA_Node* CreateFontNode(CXFA_Node* pParent) const; | |
| 117 CXFA_Node* CreateMarginNode(CXFA_Node* pParent, | |
| 118 uint32_t dwFlags, | |
| 119 FX_FLOAT fInsets[4]) const; | |
| 120 CXFA_Node* CreateValueNode(XFA_ELEMENT eValue, CXFA_Node* pParent) const; | |
| 121 CXFA_Document* GetObjFactory() const; | |
| 122 CXFA_Document* GetXFADoc() const; | |
| 123 | |
| 124 CXFA_FFDocView* m_pDocView; | |
| 125 }; | |
| 126 | |
| 127 #endif // XFA_INCLUDE_FXFA_XFA_FFWIDGETHANDLER_H_ | |
| OLD | NEW |