| 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/lightwidget/cfwl_widget.h" | 7 #include "xfa/fwl/lightwidget/cfwl_widget.h" |
| 8 | 8 |
| 9 #include "xfa/fde/tto/fde_textout.h" | 9 #include "xfa/fde/tto/fde_textout.h" |
| 10 #include "xfa/fwl/core/cfwl_themetext.h" | 10 #include "xfa/fwl/core/cfwl_themetext.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 return FWL_Type::Unknown; | 34 return FWL_Type::Unknown; |
| 35 return m_pIface->GetClassID(); | 35 return m_pIface->GetClassID(); |
| 36 } | 36 } |
| 37 | 37 |
| 38 FX_BOOL CFWL_Widget::IsInstance(const CFX_WideStringC& wsClass) const { | 38 FX_BOOL CFWL_Widget::IsInstance(const CFX_WideStringC& wsClass) const { |
| 39 if (!m_pIface) | 39 if (!m_pIface) |
| 40 return FALSE; | 40 return FALSE; |
| 41 return m_pIface->IsInstance(wsClass); | 41 return m_pIface->IsInstance(wsClass); |
| 42 } | 42 } |
| 43 | 43 |
| 44 static void* gs_pFWLWidget = (void*)FXBSTR_ID('l', 'i', 'g', 't'); | |
| 45 | |
| 46 FWL_Error CFWL_Widget::Initialize(const CFWL_WidgetProperties* pProperties) { | 44 FWL_Error CFWL_Widget::Initialize(const CFWL_WidgetProperties* pProperties) { |
| 47 if (!m_pIface) | 45 if (!m_pIface) |
| 48 return FWL_Error::Indefinite; | 46 return FWL_Error::Indefinite; |
| 49 return m_pIface->SetPrivateData(gs_pFWLWidget, this, nullptr); | 47 m_pIface->SetAssociateWidget(this); |
| 48 return FWL_Error::Succeeded; |
| 50 } | 49 } |
| 51 | 50 |
| 52 FWL_Error CFWL_Widget::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { | 51 FWL_Error CFWL_Widget::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
| 53 if (!m_pIface) | 52 if (!m_pIface) |
| 54 return FWL_Error::Indefinite; | 53 return FWL_Error::Indefinite; |
| 55 return m_pIface->GetWidgetRect(rect, bAutoSize); | 54 return m_pIface->GetWidgetRect(rect, bAutoSize); |
| 56 } | 55 } |
| 57 | 56 |
| 58 FWL_Error CFWL_Widget::GetGlobalRect(CFX_RectF& rect) { | 57 FWL_Error CFWL_Widget::GetGlobalRect(CFX_RectF& rect) { |
| 59 if (!m_pIface) | 58 if (!m_pIface) |
| (...skipping 11 matching lines...) Expand all Loading... |
| 71 if (!m_pIface) | 70 if (!m_pIface) |
| 72 return FWL_Error::Indefinite; | 71 return FWL_Error::Indefinite; |
| 73 return m_pIface->GetClientRect(rect); | 72 return m_pIface->GetClientRect(rect); |
| 74 } | 73 } |
| 75 | 74 |
| 76 CFWL_Widget* CFWL_Widget::GetParent() { | 75 CFWL_Widget* CFWL_Widget::GetParent() { |
| 77 if (!m_pIface) | 76 if (!m_pIface) |
| 78 return nullptr; | 77 return nullptr; |
| 79 | 78 |
| 80 IFWL_Widget* parent = m_pIface->GetParent(); | 79 IFWL_Widget* parent = m_pIface->GetParent(); |
| 81 if (parent) | 80 if (!parent) |
| 82 return static_cast<CFWL_Widget*>(parent->GetPrivateData(gs_pFWLWidget)); | 81 return nullptr; |
| 83 return nullptr; | 82 |
| 83 return static_cast<CFWL_Widget*>(parent->GetAssociateWidget()); |
| 84 } | 84 } |
| 85 | 85 |
| 86 FWL_Error CFWL_Widget::SetParent(CFWL_Widget* pParent) { | 86 FWL_Error CFWL_Widget::SetParent(CFWL_Widget* pParent) { |
| 87 if (!m_pIface) | 87 if (!m_pIface) |
| 88 return FWL_Error::Indefinite; | 88 return FWL_Error::Indefinite; |
| 89 return m_pIface->SetParent(pParent ? pParent->GetWidget() : nullptr); | 89 return m_pIface->SetParent(pParent ? pParent->GetWidget() : nullptr); |
| 90 } | 90 } |
| 91 | 91 |
| 92 CFWL_Widget* CFWL_Widget::GetOwner() { | 92 CFWL_Widget* CFWL_Widget::GetOwner() { |
| 93 return nullptr; | 93 return nullptr; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 | 134 |
| 135 void* CFWL_Widget::GetLayoutItem() const { | 135 void* CFWL_Widget::GetLayoutItem() const { |
| 136 return m_pIface ? m_pIface->GetLayoutItem() : nullptr; | 136 return m_pIface ? m_pIface->GetLayoutItem() : nullptr; |
| 137 } | 137 } |
| 138 | 138 |
| 139 void CFWL_Widget::SetLayoutItem(void* pItem) { | 139 void CFWL_Widget::SetLayoutItem(void* pItem) { |
| 140 if (m_pIface) | 140 if (m_pIface) |
| 141 m_pIface->SetLayoutItem(pItem); | 141 m_pIface->SetLayoutItem(pItem); |
| 142 } | 142 } |
| 143 | 143 |
| 144 FWL_Error CFWL_Widget::SetPrivateData(void* module_id, | |
| 145 void* pData, | |
| 146 PD_CALLBACK_FREEDATA callback) { | |
| 147 if (!m_pIface) | |
| 148 return FWL_Error::Indefinite; | |
| 149 return m_pIface->SetPrivateData(module_id, pData, callback); | |
| 150 } | |
| 151 | |
| 152 void* CFWL_Widget::GetPrivateData(void* module_id) { | |
| 153 if (!m_pIface) | |
| 154 return nullptr; | |
| 155 return m_pIface->GetPrivateData(module_id); | |
| 156 } | |
| 157 | |
| 158 FWL_Error CFWL_Widget::Update() { | 144 FWL_Error CFWL_Widget::Update() { |
| 159 if (!m_pIface) | 145 if (!m_pIface) |
| 160 return FWL_Error::Indefinite; | 146 return FWL_Error::Indefinite; |
| 161 return m_pIface->Update(); | 147 return m_pIface->Update(); |
| 162 } | 148 } |
| 163 | 149 |
| 164 FWL_Error CFWL_Widget::LockUpdate() { | 150 FWL_Error CFWL_Widget::LockUpdate() { |
| 165 if (!m_pIface) | 151 if (!m_pIface) |
| 166 return FWL_Error::Indefinite; | 152 return FWL_Error::Indefinite; |
| 167 return m_pIface->LockUpdate(); | 153 return m_pIface->LockUpdate(); |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 calPart.m_iTTOAlign = FDE_TTOALIGNMENT_TopLeft; | 327 calPart.m_iTTOAlign = FDE_TTOALIGNMENT_TopLeft; |
| 342 CFX_RectF rect; | 328 CFX_RectF rect; |
| 343 FX_FLOAT fWidth = bMultiLine | 329 FX_FLOAT fWidth = bMultiLine |
| 344 ? (iLineWidth > 0 ? (FX_FLOAT)iLineWidth | 330 ? (iLineWidth > 0 ? (FX_FLOAT)iLineWidth |
| 345 : FWL_WGT_CalcMultiLineDefWidth) | 331 : FWL_WGT_CalcMultiLineDefWidth) |
| 346 : FWL_WGT_CalcWidth; | 332 : FWL_WGT_CalcWidth; |
| 347 rect.Set(0, 0, fWidth, FWL_WGT_CalcHeight); | 333 rect.Set(0, 0, fWidth, FWL_WGT_CalcHeight); |
| 348 pTheme->CalcTextRect(&calPart, rect); | 334 pTheme->CalcTextRect(&calPart, rect); |
| 349 return CFX_SizeF(rect.width, rect.height); | 335 return CFX_SizeF(rect.width, rect.height); |
| 350 } | 336 } |
| OLD | NEW |