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

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

Issue 2432423002: Merge the CFWL_*Imp classes into the IFWL_* classes. (Closed)
Patch Set: Review feedback Created 4 years, 2 months 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_BASEWIDGET_IFWL_PICTUREBOX_H_ 7 #ifndef XFA_FWL_CORE_IFWL_PICTUREBOX_H_
8 #define XFA_FWL_BASEWIDGET_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/fwl_widgetimp.h"
13 #include "xfa/fwl/core/ifwl_dataprovider.h" 12 #include "xfa/fwl/core/ifwl_dataprovider.h"
14 #include "xfa/fwl/core/ifwl_widget.h" 13 #include "xfa/fwl/core/ifwl_widget.h"
15 14
16 #define FWL_CLASS_PictureBox L"FWL_PICTUREBOX" 15 #define FWL_CLASS_PictureBox L"FWL_PICTUREBOX"
17 #define FWL_STYLEEXT_PTB_Left 0L << 0 16 #define FWL_STYLEEXT_PTB_Left 0L << 0
18 #define FWL_STYLEEXT_PTB_Center 1L << 0 17 #define FWL_STYLEEXT_PTB_Center 1L << 0
19 #define FWL_STYLEEXT_PTB_Right 2L << 0 18 #define FWL_STYLEEXT_PTB_Right 2L << 0
20 #define FWL_STYLEEXT_PTB_Top 0L << 2 19 #define FWL_STYLEEXT_PTB_Top 0L << 2
21 #define FWL_STYLEEXT_PTB_Vcenter 1L << 2 20 #define FWL_STYLEEXT_PTB_Vcenter 1L << 2
22 #define FWL_STYLEEXT_PTB_Bottom 2L << 2 21 #define FWL_STYLEEXT_PTB_Bottom 2L << 2
23 #define FWL_STYLEEXT_PTB_Normal 0L << 4 22 #define FWL_STYLEEXT_PTB_Normal 0L << 4
24 #define FWL_STYLEEXT_PTB_AutoSize 1L << 4 23 #define FWL_STYLEEXT_PTB_AutoSize 1L << 4
25 #define FWL_STYLEEXT_PTB_StretchImage 2L << 4 24 #define FWL_STYLEEXT_PTB_StretchImage 2L << 4
26 #define FWL_STYLEEXT_PTB_StretchHImage 3L << 4 25 #define FWL_STYLEEXT_PTB_StretchHImage 3L << 4
27 #define FWL_STYLEEXT_PTB_StretchVImage 4L << 4 26 #define FWL_STYLEEXT_PTB_StretchVImage 4L << 4
28 #define FWL_STYLEEXT_PTB_HAlignMask 3L << 0 27 #define FWL_STYLEEXT_PTB_HAlignMask 3L << 0
29 #define FWL_STYLEEXT_PTB_VAlignMask 3L << 2 28 #define FWL_STYLEEXT_PTB_VAlignMask 3L << 2
30 #define FWL_STYLEEXT_PTB_StretchAlignMask 7L << 4 29 #define FWL_STYLEEXT_PTB_StretchAlignMask 7L << 4
31 30
31 class CFWL_PictureBoxImpDelegate;
32 class CFWL_WidgetImpProperties;
32 class CFX_DIBitmap; 33 class CFX_DIBitmap;
34 class IFWL_Widget;
33 35
34 class IFWL_PictureBoxDP : public IFWL_DataProvider { 36 class IFWL_PictureBoxDP : public IFWL_DataProvider {
35 public: 37 public:
36 virtual CFX_DIBitmap* GetPicture(IFWL_Widget* pWidget) = 0; 38 virtual CFX_DIBitmap* GetPicture(IFWL_Widget* pWidget) = 0;
37 virtual CFX_DIBitmap* GetErrorPicture(IFWL_Widget* pWidget) = 0; 39 virtual CFX_DIBitmap* GetErrorPicture(IFWL_Widget* pWidget) = 0;
38 virtual CFX_DIBitmap* GetInitialPicture(IFWL_Widget* pWidget) = 0; 40 virtual CFX_DIBitmap* GetInitialPicture(IFWL_Widget* pWidget) = 0;
39 virtual int32_t GetOpacity(IFWL_Widget* pWidget) = 0; 41 virtual int32_t GetOpacity(IFWL_Widget* pWidget) = 0;
40 virtual int32_t GetFlipMode(IFWL_Widget* pWidget) = 0; 42 virtual int32_t GetFlipMode(IFWL_Widget* pWidget) = 0;
41 virtual FWL_Error GetMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) = 0; 43 virtual FWL_Error GetMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) = 0;
42 }; 44 };
43 45
44 class IFWL_PictureBox : public IFWL_Widget { 46 class IFWL_PictureBox : public IFWL_Widget {
45 public: 47 public:
46 static IFWL_PictureBox* Create(const CFWL_WidgetImpProperties& properties, 48 static IFWL_PictureBox* Create(const CFWL_WidgetImpProperties& properties,
47 IFWL_Widget* pOuter); 49 IFWL_Widget* pOuter);
48 50
51 IFWL_PictureBox(const CFWL_WidgetImpProperties& properties,
52 IFWL_Widget* pOuter);
53 ~IFWL_PictureBox() override;
54
55 // IFWL_Widget
56 FWL_Error GetClassName(CFX_WideString& wsClass) const override;
57 FWL_Type GetClassID() const override;
58 FWL_Error Initialize() override;
59 FWL_Error Finalize() override;
60 FWL_Error GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE) override;
61 FWL_Error Update() override;
62 FWL_Error DrawWidget(CFX_Graphics* pGraphics,
63 const CFX_Matrix* pMatrix = nullptr) override;
64
49 protected: 65 protected:
50 IFWL_PictureBox(); 66 friend class CFWL_PictureBoxImpDelegate;
67
68 void DrawBkground(CFX_Graphics* pGraphics,
69 IFWL_ThemeProvider* pTheme,
70 const CFX_Matrix* pMatrix = nullptr);
71
72 FX_BOOL VStyle(FX_BOOL dwStyle);
73 CFX_RectF m_rtClient;
74 CFX_RectF m_rtImage;
75 CFX_Matrix m_matrix;
76 FX_BOOL m_bTop;
77 FX_BOOL m_bVCenter;
78 FX_BOOL m_bButton;
51 }; 79 };
52 80
53 #endif // XFA_FWL_BASEWIDGET_IFWL_PICTUREBOX_H_ 81 class CFWL_PictureBoxImpDelegate : public CFWL_WidgetImpDelegate {
82 public:
83 CFWL_PictureBoxImpDelegate(IFWL_PictureBox* pOwner);
84 void OnDrawWidget(CFX_Graphics* pGraphics,
85 const CFX_Matrix* pMatrix = nullptr) override;
86
87 protected:
88 IFWL_PictureBox* m_pOwner;
89 };
90
91 #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