OLD | NEW |
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 #include "xfa/fwl/core/cfwl_picturebox.h" | 7 #include "xfa/fwl/core/cfwl_picturebox.h" |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
11 #include "third_party/base/ptr_util.h" | 11 #include "third_party/base/ptr_util.h" |
12 | 12 |
13 CFWL_PictureBox::CFWL_PictureBox(const CFWL_App* app) | 13 CFWL_PictureBox::CFWL_PictureBox(const CFWL_App* app) |
14 : CFWL_Widget(app, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr) { | 14 : CFWL_Widget(app, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr) { |
15 m_rtClient.Reset(); | 15 m_rtClient.Reset(); |
16 m_rtImage.Reset(); | 16 m_rtImage.Reset(); |
17 m_matrix.SetIdentity(); | 17 m_matrix.SetIdentity(); |
18 } | 18 } |
19 | 19 |
20 CFWL_PictureBox::~CFWL_PictureBox() {} | 20 CFWL_PictureBox::~CFWL_PictureBox() {} |
21 | 21 |
22 FWL_Type CFWL_PictureBox::GetClassID() const { | 22 FWL_Type CFWL_PictureBox::GetClassID() const { |
23 return FWL_Type::PictureBox; | 23 return FWL_Type::PictureBox; |
24 } | 24 } |
25 | 25 |
26 void CFWL_PictureBox::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) { | |
27 if (!bAutoSize) { | |
28 rect = m_pProperties->m_rtWidget; | |
29 return; | |
30 } | |
31 | |
32 rect.Set(0, 0, 0, 0); | |
33 InflateWidgetRect(rect); | |
34 } | |
35 | |
36 void CFWL_PictureBox::Update() { | 26 void CFWL_PictureBox::Update() { |
37 if (IsLocked()) | 27 if (IsLocked()) |
38 return; | 28 return; |
39 if (!m_pProperties->m_pThemeProvider) | 29 if (!m_pProperties->m_pThemeProvider) |
40 m_pProperties->m_pThemeProvider = GetAvailableTheme(); | 30 m_pProperties->m_pThemeProvider = GetAvailableTheme(); |
41 | 31 |
42 GetClientRect(m_rtClient); | 32 GetClientRect(m_rtClient); |
43 } | 33 } |
44 | 34 |
45 void CFWL_PictureBox::DrawWidget(CFX_Graphics* pGraphics, | 35 void CFWL_PictureBox::DrawWidget(CFX_Graphics* pGraphics, |
46 const CFX_Matrix* pMatrix) { | 36 const CFX_Matrix* pMatrix) { |
47 if (!pGraphics) | 37 if (!pGraphics) |
48 return; | 38 return; |
49 if (!m_pProperties->m_pThemeProvider) | 39 if (!m_pProperties->m_pThemeProvider) |
50 return; | 40 return; |
51 | 41 |
52 IFWL_ThemeProvider* pTheme = GetAvailableTheme(); | 42 IFWL_ThemeProvider* pTheme = GetAvailableTheme(); |
53 if (HasBorder()) | 43 if (HasBorder()) |
54 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix); | 44 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix); |
55 if (HasEdge()) | 45 if (HasEdge()) |
56 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix); | 46 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix); |
57 } | 47 } |
58 | 48 |
59 void CFWL_PictureBox::OnDrawWidget(CFX_Graphics* pGraphics, | 49 void CFWL_PictureBox::OnDrawWidget(CFX_Graphics* pGraphics, |
60 const CFX_Matrix* pMatrix) { | 50 const CFX_Matrix* pMatrix) { |
61 DrawWidget(pGraphics, pMatrix); | 51 DrawWidget(pGraphics, pMatrix); |
62 } | 52 } |
OLD | NEW |