Index: xfa/fwl/core/ifwl_scrollbar.h |
diff --git a/xfa/fwl/basewidget/fwl_scrollbarimp.h b/xfa/fwl/core/ifwl_scrollbar.h |
similarity index 79% |
rename from xfa/fwl/basewidget/fwl_scrollbarimp.h |
rename to xfa/fwl/core/ifwl_scrollbar.h |
index 4a7a4634abf1c4dc48d37377780db0498f2bdd81..2a46e0f33d8cc14b9107e2966fadf444dda8c831 100644 |
--- a/xfa/fwl/basewidget/fwl_scrollbarimp.h |
+++ b/xfa/fwl/core/ifwl_scrollbar.h |
@@ -4,24 +4,49 @@ |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
-#ifndef XFA_FWL_BASEWIDGET_FWL_SCROLLBARIMP_H_ |
-#define XFA_FWL_BASEWIDGET_FWL_SCROLLBARIMP_H_ |
+#ifndef XFA_FWL_CORE_IFWL_SCROLLBAR_H_ |
+#define XFA_FWL_CORE_IFWL_SCROLLBAR_H_ |
-#include "xfa/fwl/core/fwl_widgetimp.h" |
+#include "core/fxcrt/fx_system.h" |
+#include "xfa/fwl/core/cfwl_widgetimpproperties.h" |
+#include "xfa/fwl/core/fwl_error.h" |
+#include "xfa/fwl/core/ifwl_dataprovider.h" |
#include "xfa/fwl/core/ifwl_timer.h" |
#include "xfa/fwl/core/ifwl_widget.h" |
+class CFWL_ScrollBarImpDelegate; |
class CFWL_WidgetImpProperties; |
class IFWL_Widget; |
-class CFWL_ScrollBarImpDelegate; |
-class CFWL_ScrollBarImp : public CFWL_WidgetImp, public IFWL_Timer { |
+#define FWL_CLASS_ScrollBar L"FWL_SCROLLBAR" |
+#define FWL_STYLEEXT_SCB_Horz (0L << 0) |
+#define FWL_STYLEEXT_SCB_Vert (1L << 0) |
+ |
+enum FWL_SCBCODE { |
+ FWL_SCBCODE_None = 1, |
+ FWL_SCBCODE_Min, |
+ FWL_SCBCODE_Max, |
+ FWL_SCBCODE_PageBackward, |
+ FWL_SCBCODE_PageForward, |
+ FWL_SCBCODE_StepBackward, |
+ FWL_SCBCODE_StepForward, |
+ FWL_SCBCODE_Pos, |
+ FWL_SCBCODE_TrackPos, |
+ FWL_SCBCODE_EndScroll, |
+}; |
+ |
+class IFWL_ScrollBarDP : public IFWL_DataProvider {}; |
+ |
+class IFWL_ScrollBar : public IFWL_Widget, public IFWL_Timer { |
public: |
- CFWL_ScrollBarImp(const CFWL_WidgetImpProperties& properties, |
- IFWL_Widget* pOuter); |
- ~CFWL_ScrollBarImp() override; |
+ static IFWL_ScrollBar* Create(const CFWL_WidgetImpProperties& properties, |
+ IFWL_Widget* pOuter); |
+ |
+ IFWL_ScrollBar(const CFWL_WidgetImpProperties& properties, |
+ IFWL_Widget* pOuter); |
+ ~IFWL_ScrollBar() override; |
- // CFWL_WidgetImp |
+ // IFWL_Widget |
FWL_Error GetClassName(CFX_WideString& wsClass) const override; |
FWL_Type GetClassID() const override; |
FWL_Error Initialize() override; |
@@ -104,11 +129,14 @@ class CFWL_ScrollBarImp : public CFWL_WidgetImp, public IFWL_Timer { |
CFX_RectF m_rtMaxTrack; |
FX_BOOL m_bCustomLayout; |
FX_FLOAT m_fMinThumb; |
+ |
+ protected: |
+ IFWL_ScrollBar(); |
}; |
class CFWL_ScrollBarImpDelegate : public CFWL_WidgetImpDelegate { |
public: |
- CFWL_ScrollBarImpDelegate(CFWL_ScrollBarImp* pOwner); |
+ CFWL_ScrollBarImpDelegate(IFWL_ScrollBar* pOwner); |
void OnProcessMessage(CFWL_Message* pMessage) override; |
void OnDrawWidget(CFX_Graphics* pGraphics, |
const CFX_Matrix* pMatrix = nullptr) override; |
@@ -141,7 +169,7 @@ class CFWL_ScrollBarImpDelegate : public CFWL_WidgetImpDelegate { |
void DoMouseLeave(int32_t iItem, const CFX_RectF& rtItem, int32_t& iState); |
void DoMouseHover(int32_t iItem, const CFX_RectF& rtItem, int32_t& iState); |
- CFWL_ScrollBarImp* m_pOwner; |
+ IFWL_ScrollBar* m_pOwner; |
}; |
-#endif // XFA_FWL_BASEWIDGET_FWL_SCROLLBARIMP_H_ |
+#endif // XFA_FWL_CORE_IFWL_SCROLLBAR_H_ |