Index: xfa/fwl/core/ifwl_picturebox.h |
diff --git a/xfa/fwl/basewidget/ifwl_picturebox.h b/xfa/fwl/core/ifwl_picturebox.h |
similarity index 55% |
rename from xfa/fwl/basewidget/ifwl_picturebox.h |
rename to xfa/fwl/core/ifwl_picturebox.h |
index f40454a42d9aadf8e10fd79455134398d2b0f73a..eb9c70efca479096358d44f8dff47d5b8e21347e 100644 |
--- a/xfa/fwl/basewidget/ifwl_picturebox.h |
+++ b/xfa/fwl/core/ifwl_picturebox.h |
@@ -4,12 +4,11 @@ |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
-#ifndef XFA_FWL_BASEWIDGET_IFWL_PICTUREBOX_H_ |
-#define XFA_FWL_BASEWIDGET_IFWL_PICTUREBOX_H_ |
+#ifndef XFA_FWL_CORE_IFWL_PICTUREBOX_H_ |
+#define XFA_FWL_CORE_IFWL_PICTUREBOX_H_ |
#include "xfa/fwl/core/cfwl_widgetimpproperties.h" |
#include "xfa/fwl/core/fwl_error.h" |
-#include "xfa/fwl/core/fwl_widgetimp.h" |
#include "xfa/fwl/core/ifwl_dataprovider.h" |
#include "xfa/fwl/core/ifwl_widget.h" |
@@ -29,7 +28,10 @@ |
#define FWL_STYLEEXT_PTB_VAlignMask 3L << 2 |
#define FWL_STYLEEXT_PTB_StretchAlignMask 7L << 4 |
+class CFWL_PictureBoxImpDelegate; |
+class CFWL_WidgetImpProperties; |
class CFX_DIBitmap; |
+class IFWL_Widget; |
class IFWL_PictureBoxDP : public IFWL_DataProvider { |
public: |
@@ -46,8 +48,44 @@ class IFWL_PictureBox : public IFWL_Widget { |
static IFWL_PictureBox* Create(const CFWL_WidgetImpProperties& properties, |
IFWL_Widget* pOuter); |
+ IFWL_PictureBox(const CFWL_WidgetImpProperties& properties, |
+ IFWL_Widget* pOuter); |
+ ~IFWL_PictureBox() override; |
+ |
+ // IFWL_Widget |
+ FWL_Error GetClassName(CFX_WideString& wsClass) const override; |
+ FWL_Type GetClassID() const override; |
+ FWL_Error Initialize() override; |
+ FWL_Error Finalize() override; |
+ FWL_Error GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE) override; |
+ FWL_Error Update() override; |
+ FWL_Error DrawWidget(CFX_Graphics* pGraphics, |
+ const CFX_Matrix* pMatrix = nullptr) override; |
+ |
+ protected: |
+ friend class CFWL_PictureBoxImpDelegate; |
+ |
+ void DrawBkground(CFX_Graphics* pGraphics, |
+ IFWL_ThemeProvider* pTheme, |
+ const CFX_Matrix* pMatrix = nullptr); |
+ |
+ FX_BOOL VStyle(FX_BOOL dwStyle); |
+ CFX_RectF m_rtClient; |
+ CFX_RectF m_rtImage; |
+ CFX_Matrix m_matrix; |
+ FX_BOOL m_bTop; |
+ FX_BOOL m_bVCenter; |
+ FX_BOOL m_bButton; |
+}; |
+ |
+class CFWL_PictureBoxImpDelegate : public CFWL_WidgetImpDelegate { |
+ public: |
+ CFWL_PictureBoxImpDelegate(IFWL_PictureBox* pOwner); |
+ void OnDrawWidget(CFX_Graphics* pGraphics, |
+ const CFX_Matrix* pMatrix = nullptr) override; |
+ |
protected: |
- IFWL_PictureBox(); |
+ IFWL_PictureBox* m_pOwner; |
}; |
-#endif // XFA_FWL_BASEWIDGET_IFWL_PICTUREBOX_H_ |
+#endif // XFA_FWL_CORE_IFWL_PICTUREBOX_H_ |