Index: xfa/src/fxfa/src/app/xfa_ffwidget.h |
diff --git a/xfa/src/fxfa/src/app/xfa_ffwidget.h b/xfa/src/fxfa/src/app/xfa_ffwidget.h |
index 20a7d804431e5b50796a1d845ce2fe987f15110a..f9e447818380cceccdc16b415c397bd3069bc82d 100644 |
--- a/xfa/src/fxfa/src/app/xfa_ffwidget.h |
+++ b/xfa/src/fxfa/src/app/xfa_ffwidget.h |
@@ -1,186 +1,186 @@ |
-// Copyright 2014 PDFium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
- |
-#ifndef _FXFA_FORMFILLER_WIDGET_IMP_H |
-#define _FXFA_FORMFILLER_WIDGET_IMP_H |
- |
-#include "xfa/include/fxfa/fxfa.h" |
- |
-class CXFA_FFPageView; |
-class CXFA_FFDocView; |
-class CXFA_FFDoc; |
-class CXFA_FFApp; |
- |
-#define XFA_GOTO_POSITION_IF_FAIL(arg, pos) \ |
- { \ |
- if (!(arg)) \ |
- goto pos; \ |
- } |
-inline FX_FLOAT XFA_UnitPx2Pt(FX_FLOAT fPx, FX_FLOAT fDpi) { |
- return fPx * 72.0f / fDpi; |
-} |
-#define XFA_FLOAT_PERCISION 0.001f |
-enum XFA_WIDGETITEM { |
- XFA_WIDGETITEM_Parent, |
- XFA_WIDGETITEM_FirstChild, |
- XFA_WIDGETITEM_NextSibling, |
- XFA_WIDGETITEM_PrevSibling, |
-}; |
-class CXFA_CalcData { |
- public: |
- CXFA_CalcData() : m_iRefCount(0) {} |
- ~CXFA_CalcData() { m_Globals.RemoveAll(); } |
- CFX_PtrArray m_Globals; |
- int32_t m_iRefCount; |
-}; |
-class CXFA_FFWidget : public IXFA_Widget, |
- public CFX_PrivateData, |
- public CXFA_ContentLayoutItem { |
- public: |
- CXFA_FFWidget(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc); |
- virtual ~CXFA_FFWidget(); |
- IXFA_PageView* GetPageView(); |
- void SetPageView(IXFA_PageView* pPageView); |
- void GetWidgetRect(CFX_RectF& rtWidget); |
- CFX_RectF ReCacheWidgetRect(); |
- FX_DWORD GetStatus(); |
- void ModifyStatus(FX_DWORD dwAdded, FX_DWORD dwRemoved); |
- virtual FX_BOOL GetBBox(CFX_RectF& rtBox, |
- FX_DWORD dwStatus, |
- FX_BOOL bDrawFocus = FALSE); |
- CXFA_WidgetAcc* GetDataAcc(); |
- FX_BOOL GetToolTip(CFX_WideString& wsToolTip); |
- virtual void RenderWidget(CFX_Graphics* pGS, |
- CFX_Matrix* pMatrix = NULL, |
- FX_DWORD dwStatus = 0, |
- int32_t iRotate = 0); |
- |
- virtual FX_BOOL IsLoaded(); |
- virtual FX_BOOL LoadWidget(); |
- virtual void UnloadWidget(); |
- virtual FX_BOOL PerformLayout(); |
- virtual FX_BOOL UpdateFWLData(); |
- virtual void UpdateWidgetProperty(); |
- virtual FX_BOOL OnMouseEnter(); |
- virtual FX_BOOL OnMouseExit(); |
- virtual FX_BOOL OnLButtonDown(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
- virtual FX_BOOL OnLButtonUp(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
- virtual FX_BOOL OnLButtonDblClk(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
- virtual FX_BOOL OnMouseMove(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
- virtual FX_BOOL OnMouseWheel(FX_DWORD dwFlags, |
- int16_t zDelta, |
- FX_FLOAT fx, |
- FX_FLOAT fy); |
- virtual FX_BOOL OnRButtonDown(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
- virtual FX_BOOL OnRButtonUp(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
- virtual FX_BOOL OnRButtonDblClk(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
- |
- virtual FX_BOOL OnSetFocus(CXFA_FFWidget* pOldWidget); |
- virtual FX_BOOL OnKillFocus(CXFA_FFWidget* pNewWidget); |
- virtual FX_BOOL OnKeyDown(FX_DWORD dwKeyCode, FX_DWORD dwFlags); |
- virtual FX_BOOL OnKeyUp(FX_DWORD dwKeyCode, FX_DWORD dwFlags); |
- virtual FX_BOOL OnChar(FX_DWORD dwChar, FX_DWORD dwFlags); |
- virtual FX_DWORD 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 GetSuggestWords(CFX_PointF pointf, |
- CFX_ByteStringArray& sSuggest) { |
- return FALSE; |
- } |
- virtual FX_BOOL ReplaceSpellCheckWord(CFX_PointF pointf, |
- const CFX_ByteStringC& bsReplace) { |
- return FALSE; |
- } |
- CXFA_FFDocView* GetDocView(); |
- void SetDocView(CXFA_FFDocView* pDocView) { m_pDocView = pDocView; } |
- CXFA_FFDoc* GetDoc(); |
- CXFA_FFApp* GetApp(); |
- IXFA_AppProvider* GetAppProvider(); |
- void InvalidateWidget(const CFX_RectF* pRect = NULL); |
- void AddInvalidateRect(const CFX_RectF* pRect = NULL); |
- FX_BOOL GetCaptionText(CFX_WideString& wsCap); |
- FX_BOOL IsFocused(); |
- void Rotate2Normal(FX_FLOAT& fx, FX_FLOAT& fy); |
- void GetRotateMatrix(CFX_Matrix& mt); |
- FX_BOOL IsLayoutRectEmpty(); |
- CXFA_FFWidget* GetParent(); |
- FX_BOOL IsAncestorOf(CXFA_FFWidget* pWidget); |
- |
- protected: |
- virtual FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy); |
- void DrawBorder(CFX_Graphics* pGS, |
- CXFA_Box box, |
- const CFX_RectF& rtBorder, |
- CFX_Matrix* pMatrix, |
- FX_DWORD dwFlags = 0); |
- void GetMinMaxWidth(FX_FLOAT fMinWidth, FX_FLOAT fMaxWidth); |
- void GetMinMaxHeight(FX_FLOAT fMinHeight, FX_FLOAT fMaxHeight); |
- void GetRectWithoutRotate(CFX_RectF& rtWidget); |
- FX_BOOL IsMatchVisibleStatus(FX_DWORD 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); |
-CFX_GraphStateData::LineCap XFA_LineCapToFXGE(int32_t iLineCap); |
-void XFA_DrawImage(CFX_Graphics* pGS, |
- const CFX_RectF& rtImage, |
- CFX_Matrix* pMatrix, |
- CFX_DIBitmap* pDIBitmap, |
- int32_t iAspect, |
- int32_t iImageXDpi, |
- int32_t iImageYDpi, |
- int32_t iHorzAlign = XFA_ATTRIBUTEENUM_Left, |
- int32_t iVertAlign = XFA_ATTRIBUTEENUM_Top); |
-CFX_DIBitmap* XFA_LoadImageData(CXFA_FFDoc* pDoc, |
- CXFA_Image* pImage, |
- FX_BOOL& bNameImage, |
- int32_t& iImageXDpi, |
- int32_t& iImageYDpi); |
-CFX_DIBitmap* XFA_LoadImageFromBuffer(IFX_FileRead* pImageFileRead, |
- FXCODEC_IMAGE_TYPE type, |
- int32_t& iImageXDpi, |
- int32_t& iImageYDpi); |
-FXCODEC_IMAGE_TYPE XFA_GetImageType(const CFX_WideStringC& wsType); |
-FX_CHAR* XFA_Base64Encode(const uint8_t* buf, int32_t buf_len); |
-void XFA_RectWidthoutMargin(CFX_RectF& rt, |
- const CXFA_Margin& mg, |
- FX_BOOL bUI = FALSE); |
-FX_FLOAT XFA_GetEdgeThickness(const CXFA_StrokeArray& strokes, |
- FX_BOOL b3DStyle, |
- int32_t nIndex); |
-CXFA_FFWidget* XFA_GetWidgetFromLayoutItem(CXFA_LayoutItem* pLayoutItem); |
-FX_BOOL XFA_IsCreateWidget(XFA_ELEMENT iType); |
-#define XFA_DRAWBOX_ForceRound 1 |
-#define XFA_DRAWBOX_Lowered3D 2 |
-void XFA_DrawBox(CXFA_Box box, |
- CFX_Graphics* pGS, |
- const CFX_RectF& rtWidget, |
- CFX_Matrix* pMatrix, |
- FX_DWORD dwFlags = 0); |
-#endif |
+// Copyright 2014 PDFium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+ |
+#ifndef _FXFA_FORMFILLER_WIDGET_IMP_H |
+#define _FXFA_FORMFILLER_WIDGET_IMP_H |
+ |
+#include "xfa/include/fxfa/fxfa.h" |
+ |
+class CXFA_FFPageView; |
+class CXFA_FFDocView; |
+class CXFA_FFDoc; |
+class CXFA_FFApp; |
+ |
+#define XFA_GOTO_POSITION_IF_FAIL(arg, pos) \ |
+ { \ |
+ if (!(arg)) \ |
+ goto pos; \ |
+ } |
+inline FX_FLOAT XFA_UnitPx2Pt(FX_FLOAT fPx, FX_FLOAT fDpi) { |
+ return fPx * 72.0f / fDpi; |
+} |
+#define XFA_FLOAT_PERCISION 0.001f |
+enum XFA_WIDGETITEM { |
+ XFA_WIDGETITEM_Parent, |
+ XFA_WIDGETITEM_FirstChild, |
+ XFA_WIDGETITEM_NextSibling, |
+ XFA_WIDGETITEM_PrevSibling, |
+}; |
+class CXFA_CalcData { |
+ public: |
+ CXFA_CalcData() : m_iRefCount(0) {} |
+ ~CXFA_CalcData() { m_Globals.RemoveAll(); } |
+ CFX_PtrArray m_Globals; |
+ int32_t m_iRefCount; |
+}; |
+class CXFA_FFWidget : public IXFA_Widget, |
+ public CFX_PrivateData, |
+ public CXFA_ContentLayoutItem { |
+ public: |
+ CXFA_FFWidget(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc); |
+ virtual ~CXFA_FFWidget(); |
+ IXFA_PageView* GetPageView(); |
+ void SetPageView(IXFA_PageView* pPageView); |
+ void GetWidgetRect(CFX_RectF& rtWidget); |
+ CFX_RectF ReCacheWidgetRect(); |
+ FX_DWORD GetStatus(); |
+ void ModifyStatus(FX_DWORD dwAdded, FX_DWORD dwRemoved); |
+ virtual FX_BOOL GetBBox(CFX_RectF& rtBox, |
+ FX_DWORD dwStatus, |
+ FX_BOOL bDrawFocus = FALSE); |
+ CXFA_WidgetAcc* GetDataAcc(); |
+ FX_BOOL GetToolTip(CFX_WideString& wsToolTip); |
+ virtual void RenderWidget(CFX_Graphics* pGS, |
+ CFX_Matrix* pMatrix = NULL, |
+ FX_DWORD dwStatus = 0, |
+ int32_t iRotate = 0); |
+ |
+ virtual FX_BOOL IsLoaded(); |
+ virtual FX_BOOL LoadWidget(); |
+ virtual void UnloadWidget(); |
+ virtual FX_BOOL PerformLayout(); |
+ virtual FX_BOOL UpdateFWLData(); |
+ virtual void UpdateWidgetProperty(); |
+ virtual FX_BOOL OnMouseEnter(); |
+ virtual FX_BOOL OnMouseExit(); |
+ virtual FX_BOOL OnLButtonDown(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
+ virtual FX_BOOL OnLButtonUp(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
+ virtual FX_BOOL OnLButtonDblClk(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
+ virtual FX_BOOL OnMouseMove(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
+ virtual FX_BOOL OnMouseWheel(FX_DWORD dwFlags, |
+ int16_t zDelta, |
+ FX_FLOAT fx, |
+ FX_FLOAT fy); |
+ virtual FX_BOOL OnRButtonDown(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
+ virtual FX_BOOL OnRButtonUp(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
+ virtual FX_BOOL OnRButtonDblClk(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); |
+ |
+ virtual FX_BOOL OnSetFocus(CXFA_FFWidget* pOldWidget); |
+ virtual FX_BOOL OnKillFocus(CXFA_FFWidget* pNewWidget); |
+ virtual FX_BOOL OnKeyDown(FX_DWORD dwKeyCode, FX_DWORD dwFlags); |
+ virtual FX_BOOL OnKeyUp(FX_DWORD dwKeyCode, FX_DWORD dwFlags); |
+ virtual FX_BOOL OnChar(FX_DWORD dwChar, FX_DWORD dwFlags); |
+ virtual FX_DWORD 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 GetSuggestWords(CFX_PointF pointf, |
+ CFX_ByteStringArray& sSuggest) { |
+ return FALSE; |
+ } |
+ virtual FX_BOOL ReplaceSpellCheckWord(CFX_PointF pointf, |
+ const CFX_ByteStringC& bsReplace) { |
+ return FALSE; |
+ } |
+ CXFA_FFDocView* GetDocView(); |
+ void SetDocView(CXFA_FFDocView* pDocView) { m_pDocView = pDocView; } |
+ CXFA_FFDoc* GetDoc(); |
+ CXFA_FFApp* GetApp(); |
+ IXFA_AppProvider* GetAppProvider(); |
+ void InvalidateWidget(const CFX_RectF* pRect = NULL); |
+ void AddInvalidateRect(const CFX_RectF* pRect = NULL); |
+ FX_BOOL GetCaptionText(CFX_WideString& wsCap); |
+ FX_BOOL IsFocused(); |
+ void Rotate2Normal(FX_FLOAT& fx, FX_FLOAT& fy); |
+ void GetRotateMatrix(CFX_Matrix& mt); |
+ FX_BOOL IsLayoutRectEmpty(); |
+ CXFA_FFWidget* GetParent(); |
+ FX_BOOL IsAncestorOf(CXFA_FFWidget* pWidget); |
+ |
+ protected: |
+ virtual FX_BOOL PtInActiveRect(FX_FLOAT fx, FX_FLOAT fy); |
+ void DrawBorder(CFX_Graphics* pGS, |
+ CXFA_Box box, |
+ const CFX_RectF& rtBorder, |
+ CFX_Matrix* pMatrix, |
+ FX_DWORD dwFlags = 0); |
+ void GetMinMaxWidth(FX_FLOAT fMinWidth, FX_FLOAT fMaxWidth); |
+ void GetMinMaxHeight(FX_FLOAT fMinHeight, FX_FLOAT fMaxHeight); |
+ void GetRectWithoutRotate(CFX_RectF& rtWidget); |
+ FX_BOOL IsMatchVisibleStatus(FX_DWORD 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); |
+CFX_GraphStateData::LineCap XFA_LineCapToFXGE(int32_t iLineCap); |
+void XFA_DrawImage(CFX_Graphics* pGS, |
+ const CFX_RectF& rtImage, |
+ CFX_Matrix* pMatrix, |
+ CFX_DIBitmap* pDIBitmap, |
+ int32_t iAspect, |
+ int32_t iImageXDpi, |
+ int32_t iImageYDpi, |
+ int32_t iHorzAlign = XFA_ATTRIBUTEENUM_Left, |
+ int32_t iVertAlign = XFA_ATTRIBUTEENUM_Top); |
+CFX_DIBitmap* XFA_LoadImageData(CXFA_FFDoc* pDoc, |
+ CXFA_Image* pImage, |
+ FX_BOOL& bNameImage, |
+ int32_t& iImageXDpi, |
+ int32_t& iImageYDpi); |
+CFX_DIBitmap* XFA_LoadImageFromBuffer(IFX_FileRead* pImageFileRead, |
+ FXCODEC_IMAGE_TYPE type, |
+ int32_t& iImageXDpi, |
+ int32_t& iImageYDpi); |
+FXCODEC_IMAGE_TYPE XFA_GetImageType(const CFX_WideStringC& wsType); |
+FX_CHAR* XFA_Base64Encode(const uint8_t* buf, int32_t buf_len); |
+void XFA_RectWidthoutMargin(CFX_RectF& rt, |
+ const CXFA_Margin& mg, |
+ FX_BOOL bUI = FALSE); |
+FX_FLOAT XFA_GetEdgeThickness(const CXFA_StrokeArray& strokes, |
+ FX_BOOL b3DStyle, |
+ int32_t nIndex); |
+CXFA_FFWidget* XFA_GetWidgetFromLayoutItem(CXFA_LayoutItem* pLayoutItem); |
+FX_BOOL XFA_IsCreateWidget(XFA_ELEMENT iType); |
+#define XFA_DRAWBOX_ForceRound 1 |
+#define XFA_DRAWBOX_Lowered3D 2 |
+void XFA_DrawBox(CXFA_Box box, |
+ CFX_Graphics* pGS, |
+ const CFX_RectF& rtWidget, |
+ CFX_Matrix* pMatrix, |
+ FX_DWORD dwFlags = 0); |
+#endif |