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_SRC_FXFA_APP_XFA_FWLTHEME_H_ | |
8 #define XFA_SRC_FXFA_APP_XFA_FWLTHEME_H_ | |
9 | |
10 #include "xfa/include/fwl/core/fwl_target.h" | |
11 #include "xfa/include/fwl/core/fwl_theme.h" | |
12 #include "xfa/include/fwl/theme/barcodetp.h" | |
13 #include "xfa/include/fwl/theme/carettp.h" | |
14 #include "xfa/include/fwl/theme/checkboxtp.h" | |
15 #include "xfa/include/fwl/theme/comboboxtp.h" | |
16 #include "xfa/include/fwl/theme/datetimepickertp.h" | |
17 #include "xfa/include/fwl/theme/edittp.h" | |
18 #include "xfa/include/fwl/theme/listboxtp.h" | |
19 #include "xfa/include/fwl/theme/monthcalendartp.h" | |
20 #include "xfa/include/fwl/theme/pictureboxtp.h" | |
21 #include "xfa/include/fwl/theme/pushbuttontp.h" | |
22 #include "xfa/include/fwl/theme/scrollbartp.h" | |
23 #include "xfa/include/fwl/theme/widgettp.h" | |
24 #include "xfa/src/fxfa/app/xfa_ffapp.h" | |
25 | |
26 class CXFA_FWLTheme : public IFWL_ThemeProvider { | |
27 public: | |
28 CXFA_FWLTheme(CXFA_FFApp* pApp); | |
29 virtual ~CXFA_FWLTheme(); | |
30 virtual FWL_ERR Release() { | |
31 delete this; | |
32 return FWL_ERR_Succeeded; | |
33 } | |
34 virtual IFWL_Target* Retain() { return NULL; } | |
35 virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const { | |
36 return FWL_ERR_Succeeded; | |
37 } | |
38 virtual FX_DWORD GetHashCode() const { return 0; } | |
39 virtual FWL_ERR Initialize(); | |
40 virtual FWL_ERR Finalize(); | |
41 virtual FX_BOOL IsValidWidget(IFWL_Widget* pWidget); | |
42 virtual FX_DWORD GetThemeID(IFWL_Widget* pWidget); | |
43 virtual FX_DWORD SetThemeID(IFWL_Widget* pWidget, | |
44 FX_DWORD dwThemeID, | |
45 FX_BOOL bChildren = TRUE); | |
46 virtual FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams); | |
47 virtual FX_BOOL DrawText(CFWL_ThemeText* pParams); | |
48 virtual void* GetCapacity(CFWL_ThemePart* pThemePart, FX_DWORD dwCapacity); | |
49 virtual FX_BOOL IsCustomizedLayout(IFWL_Widget* pWidget); | |
50 virtual FWL_ERR GetPartRect(CFWL_ThemePart* pThemePart); | |
51 virtual FX_BOOL IsInPart(CFWL_ThemePart* pThemePart, | |
52 FX_FLOAT fx, | |
53 FX_FLOAT fy); | |
54 | |
55 virtual FX_BOOL CalcTextRect(CFWL_ThemeText* pParams, CFX_RectF& rect); | |
56 virtual FWL_ERR GetThemeMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) { | |
57 return FWL_ERR_Succeeded; | |
58 } | |
59 virtual FWL_ERR SetThemeMatrix(IFWL_Widget* pWidget, | |
60 const CFX_Matrix& matrix) { | |
61 return FWL_ERR_Succeeded; | |
62 } | |
63 virtual FWL_ERR GetPartRect(CFWL_ThemePart* pThemePart, CFX_RectF& rtPart) { | |
64 return FWL_ERR_Succeeded; | |
65 } | |
66 | |
67 protected: | |
68 CFWL_WidgetTP* GetTheme(IFWL_Widget* pWidget); | |
69 CFWL_CheckBoxTP* m_pCheckBoxTP; | |
70 CFWL_ListBoxTP* m_pListBoxTP; | |
71 CFWL_PictureBoxTP* m_pPictureBoxTP; | |
72 CFWL_ScrollBarTP* m_pSrollBarTP; | |
73 CFWL_EditTP* m_pEditTP; | |
74 CFWL_ComboBoxTP* m_pComboBoxTP; | |
75 CFWL_MonthCalendarTP* m_pMonthCalendarTP; | |
76 CFWL_DateTimePickerTP* m_pDateTimePickerTP; | |
77 CFWL_PushButtonTP* m_pPushButtonTP; | |
78 CFWL_CaretTP* m_pCaretTP; | |
79 CFWL_BarcodeTP* m_pBarcodeTP; | |
80 IFDE_TextOut* m_pTextOut; | |
81 FX_FLOAT m_fCapacity; | |
82 FX_DWORD m_dwCapacity; | |
83 IFX_Font* m_pCalendarFont; | |
84 CFX_WideString m_wsResource; | |
85 CXFA_FFApp* m_pApp; | |
86 CFX_RectF m_Rect; | |
87 CFX_SizeF m_SizeAboveBelow; | |
88 }; | |
89 class CXFA_FWLCheckBoxTP : public CFWL_CheckBoxTP { | |
90 public: | |
91 CXFA_FWLCheckBoxTP(); | |
92 virtual FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams); | |
93 | |
94 protected: | |
95 void DrawCheckSign(IFWL_Widget* pWidget, | |
96 CFX_Graphics* pGraphics, | |
97 const CFX_RectF* pRtBox, | |
98 int32_t iState, | |
99 CFX_Matrix* pMatrix); | |
100 }; | |
101 class CXFA_FWLEditTP : public CFWL_EditTP { | |
102 public: | |
103 CXFA_FWLEditTP(); | |
104 virtual ~CXFA_FWLEditTP(); | |
105 | |
106 public: | |
107 virtual FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams); | |
108 }; | |
109 | |
110 #endif // XFA_SRC_FXFA_APP_XFA_FWLTHEME_H_ | |
OLD | NEW |