Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Side by Side Diff: xfa/fwl/core/ifwl_picturebox.h

Issue 2467993003: Merge delegates into IFWL_* classes. (Closed)
Patch Set: Add const version Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fwl/core/ifwl_monthcalendar.cpp ('k') | xfa/fwl/core/ifwl_picturebox.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_widgetimpproperties.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_PictureBoxImpDelegate;
31 class CFWL_WidgetImpProperties; 30 class CFWL_WidgetImpProperties;
32 class CFX_DIBitmap; 31 class CFX_DIBitmap;
33 class IFWL_Widget; 32 class IFWL_Widget;
34 33
35 class IFWL_PictureBoxDP : public IFWL_DataProvider { 34 class IFWL_PictureBoxDP : public IFWL_DataProvider {
36 public: 35 public:
37 virtual CFX_DIBitmap* GetPicture(IFWL_Widget* pWidget) = 0; 36 virtual CFX_DIBitmap* GetPicture(IFWL_Widget* pWidget) = 0;
38 virtual CFX_DIBitmap* GetErrorPicture(IFWL_Widget* pWidget) = 0; 37 virtual CFX_DIBitmap* GetErrorPicture(IFWL_Widget* pWidget) = 0;
39 virtual CFX_DIBitmap* GetInitialPicture(IFWL_Widget* pWidget) = 0; 38 virtual CFX_DIBitmap* GetInitialPicture(IFWL_Widget* pWidget) = 0;
40 virtual int32_t GetOpacity(IFWL_Widget* pWidget) = 0; 39 virtual int32_t GetOpacity(IFWL_Widget* pWidget) = 0;
41 virtual int32_t GetFlipMode(IFWL_Widget* pWidget) = 0; 40 virtual int32_t GetFlipMode(IFWL_Widget* pWidget) = 0;
42 virtual FWL_Error GetMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) = 0; 41 virtual FWL_Error GetMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) = 0;
43 }; 42 };
44 43
45 class IFWL_PictureBox : public IFWL_Widget { 44 class IFWL_PictureBox : public IFWL_Widget {
46 public: 45 public:
47 explicit IFWL_PictureBox(const IFWL_App* app, 46 explicit IFWL_PictureBox(const IFWL_App* app,
48 const CFWL_WidgetImpProperties& properties); 47 const CFWL_WidgetImpProperties& properties);
49 ~IFWL_PictureBox() override; 48 ~IFWL_PictureBox() override;
50 49
51 // IFWL_Widget 50 // IFWL_Widget
52 FWL_Type GetClassID() const override; 51 FWL_Type GetClassID() const override;
53 FWL_Error GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE) override; 52 FWL_Error GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE) override;
54 FWL_Error Update() override; 53 FWL_Error Update() override;
55 FWL_Error DrawWidget(CFX_Graphics* pGraphics, 54 FWL_Error DrawWidget(CFX_Graphics* pGraphics,
56 const CFX_Matrix* pMatrix = nullptr) override; 55 const CFX_Matrix* pMatrix = nullptr) override;
56 void OnDrawWidget(CFX_Graphics* pGraphics,
57 const CFX_Matrix* pMatrix) override;
57 58
58 protected: 59 protected:
59 friend class CFWL_PictureBoxImpDelegate;
60
61 void DrawBkground(CFX_Graphics* pGraphics, 60 void DrawBkground(CFX_Graphics* pGraphics,
62 IFWL_ThemeProvider* pTheme, 61 IFWL_ThemeProvider* pTheme,
63 const CFX_Matrix* pMatrix = nullptr); 62 const CFX_Matrix* pMatrix = nullptr);
64 bool VStyle(uint32_t dwStyle); 63 bool VStyle(uint32_t dwStyle);
65 64
66 CFX_RectF m_rtClient; 65 CFX_RectF m_rtClient;
67 CFX_RectF m_rtImage; 66 CFX_RectF m_rtImage;
68 CFX_Matrix m_matrix; 67 CFX_Matrix m_matrix;
69 FX_BOOL m_bTop; 68 FX_BOOL m_bTop;
70 FX_BOOL m_bVCenter; 69 FX_BOOL m_bVCenter;
71 FX_BOOL m_bButton; 70 FX_BOOL m_bButton;
72 }; 71 };
73 72
74 class CFWL_PictureBoxImpDelegate : public CFWL_WidgetImpDelegate {
75 public:
76 CFWL_PictureBoxImpDelegate(IFWL_PictureBox* pOwner);
77 void OnDrawWidget(CFX_Graphics* pGraphics,
78 const CFX_Matrix* pMatrix = nullptr) override;
79
80 protected:
81 IFWL_PictureBox* m_pOwner;
82 };
83
84 #endif // XFA_FWL_CORE_IFWL_PICTUREBOX_H_ 73 #endif // XFA_FWL_CORE_IFWL_PICTUREBOX_H_
OLDNEW
« no previous file with comments | « xfa/fwl/core/ifwl_monthcalendar.cpp ('k') | xfa/fwl/core/ifwl_picturebox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698