| OLD | NEW | 
|---|
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 
| 6 | 6 | 
| 7 #ifndef XFA_FWL_CORE_IFWL_PICTUREBOX_H_ | 7 #ifndef XFA_FWL_CORE_IFWL_PICTUREBOX_H_ | 
| 8 #define XFA_FWL_CORE_IFWL_PICTUREBOX_H_ | 8 #define XFA_FWL_CORE_IFWL_PICTUREBOX_H_ | 
| 9 | 9 | 
| 10 #include "xfa/fwl/core/cfwl_widgetimpproperties.h" | 10 #include "xfa/fwl/core/cfwl_widgetproperties.h" | 
| 11 #include "xfa/fwl/core/fwl_error.h" | 11 #include "xfa/fwl/core/fwl_error.h" | 
| 12 #include "xfa/fwl/core/ifwl_dataprovider.h" | 12 #include "xfa/fwl/core/ifwl_dataprovider.h" | 
| 13 #include "xfa/fwl/core/ifwl_widget.h" | 13 #include "xfa/fwl/core/ifwl_widget.h" | 
| 14 | 14 | 
| 15 #define FWL_STYLEEXT_PTB_Left 0L << 0 | 15 #define FWL_STYLEEXT_PTB_Left 0L << 0 | 
| 16 #define FWL_STYLEEXT_PTB_Center 1L << 0 | 16 #define FWL_STYLEEXT_PTB_Center 1L << 0 | 
| 17 #define FWL_STYLEEXT_PTB_Right 2L << 0 | 17 #define FWL_STYLEEXT_PTB_Right 2L << 0 | 
| 18 #define FWL_STYLEEXT_PTB_Top 0L << 2 | 18 #define FWL_STYLEEXT_PTB_Top 0L << 2 | 
| 19 #define FWL_STYLEEXT_PTB_Vcenter 1L << 2 | 19 #define FWL_STYLEEXT_PTB_Vcenter 1L << 2 | 
| 20 #define FWL_STYLEEXT_PTB_Bottom 2L << 2 | 20 #define FWL_STYLEEXT_PTB_Bottom 2L << 2 | 
| 21 #define FWL_STYLEEXT_PTB_Normal 0L << 4 | 21 #define FWL_STYLEEXT_PTB_Normal 0L << 4 | 
| 22 #define FWL_STYLEEXT_PTB_AutoSize 1L << 4 | 22 #define FWL_STYLEEXT_PTB_AutoSize 1L << 4 | 
| 23 #define FWL_STYLEEXT_PTB_StretchImage 2L << 4 | 23 #define FWL_STYLEEXT_PTB_StretchImage 2L << 4 | 
| 24 #define FWL_STYLEEXT_PTB_StretchHImage 3L << 4 | 24 #define FWL_STYLEEXT_PTB_StretchHImage 3L << 4 | 
| 25 #define FWL_STYLEEXT_PTB_StretchVImage 4L << 4 | 25 #define FWL_STYLEEXT_PTB_StretchVImage 4L << 4 | 
| 26 #define FWL_STYLEEXT_PTB_HAlignMask 3L << 0 | 26 #define FWL_STYLEEXT_PTB_HAlignMask 3L << 0 | 
| 27 #define FWL_STYLEEXT_PTB_VAlignMask 3L << 2 | 27 #define FWL_STYLEEXT_PTB_VAlignMask 3L << 2 | 
| 28 #define FWL_STYLEEXT_PTB_StretchAlignMask 7L << 4 | 28 #define FWL_STYLEEXT_PTB_StretchAlignMask 7L << 4 | 
| 29 | 29 | 
| 30 class CFWL_WidgetImpProperties; |  | 
| 31 class CFX_DIBitmap; | 30 class CFX_DIBitmap; | 
| 32 class IFWL_Widget; | 31 class IFWL_Widget; | 
| 33 | 32 | 
| 34 class IFWL_PictureBoxDP : public IFWL_DataProvider { | 33 class IFWL_PictureBoxDP : public IFWL_DataProvider { | 
| 35  public: | 34  public: | 
| 36   virtual CFX_DIBitmap* GetPicture(IFWL_Widget* pWidget) = 0; | 35   virtual CFX_DIBitmap* GetPicture(IFWL_Widget* pWidget) = 0; | 
| 37   virtual CFX_DIBitmap* GetErrorPicture(IFWL_Widget* pWidget) = 0; | 36   virtual CFX_DIBitmap* GetErrorPicture(IFWL_Widget* pWidget) = 0; | 
| 38   virtual CFX_DIBitmap* GetInitialPicture(IFWL_Widget* pWidget) = 0; | 37   virtual CFX_DIBitmap* GetInitialPicture(IFWL_Widget* pWidget) = 0; | 
| 39   virtual int32_t GetOpacity(IFWL_Widget* pWidget) = 0; | 38   virtual int32_t GetOpacity(IFWL_Widget* pWidget) = 0; | 
| 40   virtual int32_t GetFlipMode(IFWL_Widget* pWidget) = 0; | 39   virtual int32_t GetFlipMode(IFWL_Widget* pWidget) = 0; | 
| 41   virtual FWL_Error GetMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) = 0; | 40   virtual FWL_Error GetMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) = 0; | 
| 42 }; | 41 }; | 
| 43 | 42 | 
| 44 class IFWL_PictureBox : public IFWL_Widget { | 43 class IFWL_PictureBox : public IFWL_Widget { | 
| 45  public: | 44  public: | 
| 46   explicit IFWL_PictureBox(const IFWL_App* app, | 45   explicit IFWL_PictureBox(const IFWL_App* app, | 
| 47                            const CFWL_WidgetImpProperties& properties); | 46                            std::unique_ptr<CFWL_WidgetProperties> properties); | 
| 48   ~IFWL_PictureBox() override; | 47   ~IFWL_PictureBox() override; | 
| 49 | 48 | 
| 50   // IFWL_Widget | 49   // IFWL_Widget | 
| 51   FWL_Type GetClassID() const override; | 50   FWL_Type GetClassID() const override; | 
| 52   FWL_Error GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; | 51   FWL_Error GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; | 
| 53   FWL_Error Update() override; | 52   FWL_Error Update() override; | 
| 54   FWL_Error DrawWidget(CFX_Graphics* pGraphics, | 53   FWL_Error DrawWidget(CFX_Graphics* pGraphics, | 
| 55                        const CFX_Matrix* pMatrix = nullptr) override; | 54                        const CFX_Matrix* pMatrix = nullptr) override; | 
| 56   void OnDrawWidget(CFX_Graphics* pGraphics, | 55   void OnDrawWidget(CFX_Graphics* pGraphics, | 
| 57                     const CFX_Matrix* pMatrix) override; | 56                     const CFX_Matrix* pMatrix) override; | 
| 58 | 57 | 
| 59  protected: | 58  protected: | 
| 60   void DrawBkground(CFX_Graphics* pGraphics, | 59   void DrawBkground(CFX_Graphics* pGraphics, | 
| 61                     IFWL_ThemeProvider* pTheme, | 60                     IFWL_ThemeProvider* pTheme, | 
| 62                     const CFX_Matrix* pMatrix = nullptr); | 61                     const CFX_Matrix* pMatrix = nullptr); | 
| 63   bool VStyle(uint32_t dwStyle); | 62   bool VStyle(uint32_t dwStyle); | 
| 64 | 63 | 
| 65   CFX_RectF m_rtClient; | 64   CFX_RectF m_rtClient; | 
| 66   CFX_RectF m_rtImage; | 65   CFX_RectF m_rtImage; | 
| 67   CFX_Matrix m_matrix; | 66   CFX_Matrix m_matrix; | 
| 68   bool m_bTop; | 67   bool m_bTop; | 
| 69   bool m_bVCenter; | 68   bool m_bVCenter; | 
| 70   bool m_bButton; | 69   bool m_bButton; | 
| 71 }; | 70 }; | 
| 72 | 71 | 
| 73 #endif  // XFA_FWL_CORE_IFWL_PICTUREBOX_H_ | 72 #endif  // XFA_FWL_CORE_IFWL_PICTUREBOX_H_ | 
| OLD | NEW | 
|---|